From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserCustomSettingsServiceImpl.java |  333 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 179 insertions(+), 154 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..22633a7 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
@@ -1,154 +1,179 @@
-package com.yeshi.fanli.service.impl.user;
-
-import java.util.Date;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.mybatis.user.UserCustomSettingsMapper;
-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.vo.user.UserSettingsVO;
-
-@Service
-public class UserCustomSettingsServiceImpl implements UserCustomSettingsService {
-
-	@Resource
-	private UserCustomSettingsMapper userCustomSettingsMapper;
-	
-	@Override
-	public void saveModuleState(Long uid, Integer 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, "鍙傛暟绫诲瀷涓嶅尮閰�");	
-		}
-		
-		UserCustomSettings settings = userCustomSettingsMapper.getSettingsByUidAndType(uid, typeNum);
-		if (settings == null) {  // 鎻掑叆
-			settings = new UserCustomSettings();
-			settings.setState(state);
-			settings.setType(mineTypeNum);
-			settings.setUserInfo(new UserInfo(uid));
-			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);
-		}
-		
-	}
-
-	@Override
-	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 ) {
-			throw new UserCustomSettingsException(1, "浼犻�掔殑鍙傛暟涓嶈兘涓虹┖");
-		}
-		
-		return userCustomSettingsMapper.getSettingsByUidAndType(uid, type);
-	}
-	
-	
-	@Override
-	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) {
-				
-				Integer state = userCustomSettings.getState();
-				if (state == null) {
-					continue;
-				}
-				
-				UserSettingTypeEnum typeEnum = userCustomSettings.getType();
-				
-				if (typeEnum.equals(UserSettingTypeEnum.cancelNotice) ) {
-					userSettingsVO.setCancelNotice(state);
-				} else if (typeEnum.equals(UserSettingTypeEnum.noNewsRedDot)){
-					userSettingsVO.setNoNewsRedDot(state);
-				} else if (typeEnum.equals(UserSettingTypeEnum.noBonusCount)){
-					userSettingsVO.setNoBonusCount(state);
-				} else if (typeEnum.equals(UserSettingTypeEnum.noShareRecordAndStorage)){
-					userSettingsVO.setNoShareRecordAndStorage(state);
-				} else if (typeEnum.equals(UserSettingTypeEnum.noInvitationBonus)){
-					userSettingsVO.setNoInvitationBonus(state);
-				} 
-				
-			}
-		}
-		
-		return userSettingsVO;
-	}
-	
-	
-	@Override
-	public List<Long> getCancelNoticeUsers(){
-		return userCustomSettingsMapper.getUserID(UserSettingTypeEnum.cancelNotice.name());
-	}
-	
-	
-	@Override
-	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;
-	}
-}
+package com.yeshi.fanli.service.impl.user;
+
+import java.util.Date;
+import java.util.List;
+
+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
+public class UserCustomSettingsServiceImpl implements UserCustomSettingsService {
+
+	@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‘");
+		}
+
+		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, 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);
+			settings.setUserInfo(new UserInfo(uid));
+			settings.setUpdateTime(new Date());
+			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
+	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) {
+			throw new UserCustomSettingsException(1, "浼犻�掔殑鍙傛暟涓嶈兘涓虹┖");
+		}
+
+		return userCustomSettingsMapper.getSettingsByUidAndType(uid, type);
+	}
+
+	@Override
+	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) {
+
+				Integer state = userCustomSettings.getState();
+				if (state == null) {
+					continue;
+				}
+
+				UserSettingTypeEnum typeEnum = userCustomSettings.getType();
+
+				if (typeEnum.equals(UserSettingTypeEnum.cancelNotice)) {
+					userSettingsVO.setCancelNotice(state);
+				} else if (typeEnum.equals(UserSettingTypeEnum.noNewsRedDot)) {
+					userSettingsVO.setNoNewsRedDot(state);
+				} else if (typeEnum.equals(UserSettingTypeEnum.noBonusCount)) {
+					userSettingsVO.setNoBonusCount(state);
+				} else if (typeEnum.equals(UserSettingTypeEnum.noShareRecordAndStorage)) {
+					userSettingsVO.setNoShareRecordAndStorage(state);
+				} 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() {
+		return userCustomSettingsMapper.getUserID(UserSettingTypeEnum.cancelNotice.name());
+	}
+
+	@Override
+	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