From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 75 insertions(+), 45 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 10e7b26..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,15 +28,18 @@ @Resource private UserCustomSettingsMapper userCustomSettingsMapper; + + @Resource(name = "producer") + private Producer producer; @Override - public void saveModuleState(Long uid, String 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‘"); } - - - UserSettingTypeEnum mineTypeNum = null; + + UserSettingTypeEnum mineTypeNum = null; if (type.equals(UserSettingTypeEnum.cancelNotice.name())) { mineTypeNum = UserSettingTypeEnum.cancelNotice; } else if (type.equals(UserSettingTypeEnum.noNewsRedDot.name())) { @@ -41,20 +52,21 @@ 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, "鍙傛暟绫诲瀷涓嶅尮閰�"); + throw new UserCustomSettingsException(1, "鍙傛暟绫诲瀷涓嶅尮閰�"); } - - + UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid, type); - if (settings != null) { + if (settings != null) { // 鏇存柊 UserCustomSettings record = new UserCustomSettings(); record.setId(settings.getId()); record.setState(state); record.setUpdateTime(new Date()); userCustomSettingsMapper.updateByPrimaryKeySelective(record); - } else { + } else { // 鎻掑叆 settings = new UserCustomSettings(); settings.setState(state); @@ -65,84 +77,102 @@ userCustomSettingsMapper.insertSelective(settings); } + 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)){ + } 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