From dc5be7d38446f70e6ff86df311119c32b41fe7f8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 28 十一月 2020 16:37:05 +0800
Subject: [PATCH] 大淘客搜索接口升级

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java |   39 +++++++++++++++++++++++++++++++++++----
 1 files changed, 35 insertions(+), 4 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 53c45e1..0f16978 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,22 @@
 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.service.manger.msg.RocketMQManager;
+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
@@ -21,7 +30,11 @@
 	@Resource
 	private UserCustomSettingsMapper userCustomSettingsMapper;
 
+	@Resource
+	private RocketMQManager rocketMQManager;
+	
 	@Override
+	@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‘");
@@ -40,6 +53,8 @@
 			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, "鍙傛暟绫诲瀷涓嶅尮閰�");
 		}
@@ -62,7 +77,12 @@
 			settings.setCreateTime(new Date());
 			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);	
+			rocketMQManager.sendNormalMsg(message, null);
+		}
 	}
 
 	@Override
@@ -70,13 +90,11 @@
 		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) {
 			throw new UserCustomSettingsException(1, "浼犻�掔殑鍙傛暟涓嶈兘涓虹┖");
 		}
@@ -114,8 +132,9 @@
 					userSettingsVO.setNoInvitationBonus(state);
 				} else if (typeEnum.equals(UserSettingTypeEnum.openSpreadHongBao)) {
 					userSettingsVO.setOpenSpreadHongBao(state);
+				} else if (typeEnum.equals(UserSettingTypeEnum.noDisplayPhoneNum)) {
+					userSettingsVO.setNoDisplayPhoneNum(state);
 				}
-
 			}
 		}
 
@@ -145,4 +164,16 @@
 	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