From a69ec998d9fe8fa8ea6c40175bebc4e53a227d5b Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 11 六月 2020 09:26:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java | 170 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 97 insertions(+), 73 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java
index cee31c5..b3f704e 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java
@@ -6,13 +6,21 @@
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.aliyun.openservices.ons.api.Message;
+import com.aliyun.openservices.ons.api.Producer;
import com.yeshi.fanli.dao.mybatis.user.UserCustomSettingsMapper;
+import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum;
+import com.yeshi.fanli.dto.mq.user.body.UserPhoneOpenMQMsg;
import com.yeshi.fanli.entity.bus.user.UserCustomSettings;
import com.yeshi.fanli.entity.bus.user.UserCustomSettings.UserSettingTypeEnum;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.exception.user.UserCustomSettingsException;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory;
+import com.yeshi.fanli.util.rocketmq.MQTopicName;
import com.yeshi.fanli.vo.user.UserSettingsVO;
@Service
@@ -20,43 +28,46 @@
@Resource
private UserCustomSettingsMapper userCustomSettingsMapper;
+
+ @Resource(name = "producer")
+ private Producer producer;
@Override
- public void saveModuleState(Long uid, Integer type, Integer state) throws UserCustomSettingsException{
+ @Transactional
+ public void saveModuleState(Long uid, String type, Integer state) throws UserCustomSettingsException {
if (uid == null || type == null || state == null || state > 1 || state < 0) {
throw new UserCustomSettingsException(1, "浼犻�掑弬鏁颁笉姝g‘");
}
-
- String typeNum = null;
- UserSettingTypeEnum mineTypeNum = null;
-
- switch(type) {
- case 1:
- typeNum = UserSettingTypeEnum.cancelNotice.name();
- mineTypeNum = UserSettingTypeEnum.cancelNotice;
- break;
- case 2:
- typeNum = UserSettingTypeEnum.noNewsRedDot.name();
- mineTypeNum = UserSettingTypeEnum.noNewsRedDot;
- break;
- case 3:
- typeNum = UserSettingTypeEnum.noBonusCount.name();
- mineTypeNum = UserSettingTypeEnum.noBonusCount;
- break;
- case 4:
- typeNum = UserSettingTypeEnum.noShareRecordAndStorage.name();
- mineTypeNum = UserSettingTypeEnum.noShareRecordAndStorage;
- break;
- case 5:
- typeNum = UserSettingTypeEnum.noInvitationBonus.name();
- mineTypeNum = UserSettingTypeEnum.noInvitationBonus;
- break;
- default:
- throw new UserCustomSettingsException(1, "鍙傛暟绫诲瀷涓嶅尮閰�");
+
+ UserSettingTypeEnum mineTypeNum = null;
+ if (type.equals(UserSettingTypeEnum.cancelNotice.name())) {
+ mineTypeNum = UserSettingTypeEnum.cancelNotice;
+ } else if (type.equals(UserSettingTypeEnum.noNewsRedDot.name())) {
+ mineTypeNum = UserSettingTypeEnum.noNewsRedDot;
+ } else if (type.equals(UserSettingTypeEnum.noBonusCount.name())) {
+ mineTypeNum = UserSettingTypeEnum.noBonusCount;
+ } else if (type.equals(UserSettingTypeEnum.noShareRecordAndStorage.name())) {
+ mineTypeNum = UserSettingTypeEnum.noShareRecordAndStorage;
+ } else if (type.equals(UserSettingTypeEnum.noInvitationBonus.name())) {
+ mineTypeNum = UserSettingTypeEnum.noInvitationBonus;
+ } else if (type.equals(UserSettingTypeEnum.openSpreadHongBao.name())) {
+ mineTypeNum = UserSettingTypeEnum.openSpreadHongBao;
+ } else if (type.equals(UserSettingTypeEnum.noDisplayPhoneNum.name())) {
+ mineTypeNum = UserSettingTypeEnum.noDisplayPhoneNum;
+ } else {
+ throw new UserCustomSettingsException(1, "鍙傛暟绫诲瀷涓嶅尮閰�");
}
-
- UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid, typeNum);
- if (settings == null) { // 鎻掑叆
+
+ UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid, type);
+ if (settings != null) {
+ // 鏇存柊
+ UserCustomSettings record = new UserCustomSettings();
+ record.setId(settings.getId());
+ record.setState(state);
+ record.setUpdateTime(new Date());
+ userCustomSettingsMapper.updateByPrimaryKeySelective(record);
+ } else {
+ // 鎻掑叆
settings = new UserCustomSettings();
settings.setState(state);
settings.setType(mineTypeNum);
@@ -64,91 +75,104 @@
settings.setUpdateTime(new Date());
settings.setCreateTime(new Date());
userCustomSettingsMapper.insertSelective(settings);
- } else { // 鏇存柊
- UserCustomSettings record = new UserCustomSettings();
- record.setId(settings.getId());
- record.setState(state);
- record.setType(mineTypeNum);
- record.setUpdateTime(new Date());
- userCustomSettingsMapper.updateByPrimaryKeySelective(record);
}
+ if (mineTypeNum == UserSettingTypeEnum.noDisplayPhoneNum && !Constant.IS_TEST) {
+ UserPhoneOpenMQMsg msg = new UserPhoneOpenMQMsg(uid, state == 1? false: true, new Date());
+ Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userPhoneOpen, msg);
+ producer.send(message);
+ }
}
@Override
- public List<UserCustomSettings> getSettingsByUid(Long uid) throws UserCustomSettingsException{
+ public List<UserCustomSettings> getSettingsByUid(Long uid) throws UserCustomSettingsException {
if (uid == null) {
throw new UserCustomSettingsException(1, "uid涓嶈兘涓虹┖");
}
-
return userCustomSettingsMapper.getSettingsByUid(uid);
}
-
+
@Override
- public UserCustomSettings getSettingsByUidAndType(Long uid, String type) throws UserCustomSettingsException{
-
- if (uid == null || type == null || type.trim().length() == 0 ) {
+ public UserCustomSettings getSettingsByUidAndType(Long uid, String type) throws UserCustomSettingsException {
+ if (uid == null || type == null || type.trim().length() == 0) {
throw new UserCustomSettingsException(1, "浼犻�掔殑鍙傛暟涓嶈兘涓虹┖");
}
-
+
return userCustomSettingsMapper.getSettingsByUidAndType(uid, type);
}
-
-
+
@Override
- public UserSettingsVO getMySettings(Long uid) throws UserCustomSettingsException{
-
+ public UserSettingsVO getMySettings(Long uid) throws UserCustomSettingsException {
+
UserSettingsVO userSettingsVO = new UserSettingsVO();
-
+
List<UserCustomSettings> list = getSettingsByUid(uid);
-
+
if (list != null && list.size() > 0) {
-
- for (UserCustomSettings userCustomSettings: list) {
-
+
+ for (UserCustomSettings userCustomSettings : list) {
+
Integer state = userCustomSettings.getState();
if (state == null) {
continue;
}
-
+
UserSettingTypeEnum typeEnum = userCustomSettings.getType();
-
- if (typeEnum.equals(UserSettingTypeEnum.cancelNotice) ) {
+
+ if (typeEnum.equals(UserSettingTypeEnum.cancelNotice)) {
userSettingsVO.setCancelNotice(state);
- } else if (typeEnum.equals(UserSettingTypeEnum.noNewsRedDot)){
+ } else if (typeEnum.equals(UserSettingTypeEnum.noNewsRedDot)) {
userSettingsVO.setNoNewsRedDot(state);
- } else if (typeEnum.equals(UserSettingTypeEnum.noBonusCount)){
+ } else if (typeEnum.equals(UserSettingTypeEnum.noBonusCount)) {
userSettingsVO.setNoBonusCount(state);
- } else if (typeEnum.equals(UserSettingTypeEnum.noShareRecordAndStorage)){
+ } else if (typeEnum.equals(UserSettingTypeEnum.noShareRecordAndStorage)) {
userSettingsVO.setNoShareRecordAndStorage(state);
- } else if (typeEnum.equals(UserSettingTypeEnum.noInvitationBonus)){
+ } else if (typeEnum.equals(UserSettingTypeEnum.noInvitationBonus)) {
userSettingsVO.setNoInvitationBonus(state);
- }
-
+ } else if (typeEnum.equals(UserSettingTypeEnum.openSpreadHongBao)) {
+ userSettingsVO.setOpenSpreadHongBao(state);
+ } else if (typeEnum.equals(UserSettingTypeEnum.noDisplayPhoneNum)) {
+ userSettingsVO.setNoDisplayPhoneNum(state);
+ }
}
}
-
+
return userSettingsVO;
}
-
-
+
@Override
- public List<Long> getCancelNoticeUsers(){
+ public List<Long> getCancelNoticeUsers() {
return userCustomSettingsMapper.getUserID(UserSettingTypeEnum.cancelNotice.name());
}
-
-
+
@Override
- public boolean validateCancelNoticeByUid(Long uid){
+ public boolean validateCancelNoticeByUid(Long uid) {
boolean ispush = true;
-
+
UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid,
UserSettingTypeEnum.cancelNotice.name());
-
+
if (settings != null && settings.getState() != null && settings.getState() == 1) {
ispush = false;
}
-
+
return ispush;
}
+
+ @Override
+ public List<UserCustomSettings> listByUidListAndTypeAndState(List<Long> uidList, String type, Integer state) {
+ return userCustomSettingsMapper.listByUidListAndTypeAndState(uidList, type, state);
+ }
+
+
+ @Override
+ public boolean validateDisplayPhoneByUid(Long uid) {
+ UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid,
+ UserSettingTypeEnum.noDisplayPhoneNum.name());
+ if (settings != null && settings.getState() != null && settings.getState() == 1) {
+ return false;
+ }
+ return true;
+ }
+
}
--
Gitblit v1.8.0