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 | 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 daa431e..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(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)) { + 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