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/UserInfoModifyRecordServiceImpl.java | 377 +++++++++++++++++++++++++++-------------------------- 1 files changed, 195 insertions(+), 182 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoModifyRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoModifyRecordServiceImpl.java index 5fda055..bbabf28 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoModifyRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoModifyRecordServiceImpl.java @@ -1,182 +1,195 @@ -package com.yeshi.fanli.service.impl.user; - -import java.util.Date; - -import javax.annotation.Resource; - -import org.springframework.scheduling.annotation.Async; -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.google.gson.Gson; -import com.yeshi.fanli.dao.mybatis.user.UserInfoModifyRecordMapper; -import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; -import com.yeshi.fanli.dto.mq.user.body.UserAccountBindingMQMsg; -import com.yeshi.fanli.dto.mq.user.body.UserInfoUpdateMQMsg; -import com.yeshi.fanli.dto.mq.user.body.UserInfoUpdateMQMsg.UserInfoUpdateTypeEnum; -import com.yeshi.fanli.entity.bus.user.BindingAccount; -import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; -import com.yeshi.fanli.entity.bus.user.UserInfo; -import com.yeshi.fanli.entity.bus.user.UserInfoExtra; -import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord; -import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum; -import com.yeshi.fanli.log.LogHelper; -import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; -import com.yeshi.fanli.service.inter.user.UserInfoExtraService; -import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService; -import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.integral.IntegralGetService; -import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; -import com.yeshi.fanli.util.rocketmq.MQTopicName; - -@Service -public class UserInfoModifyRecordServiceImpl implements UserInfoModifyRecordService { - - @Resource - private UserInfoModifyRecordMapper userInfoModifyRecordMapper; - - @Resource - private IntegralGetService integralGetService; - - @Resource - private UserInfoService userInfoService; - - @Resource - private UserInfoExtraService userInfoExtraService; - - @Resource - private BindingAccountService bindingAccountService; - - @Resource - private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; - - @Resource(name = "producer") - private Producer producer; - - @Async() - @Transactional - @Override - public void addModifyRecord(Long uid, ModifyTypeEnum type, String value) { - try { - if (uid == null || StringUtil.isNullOrEmpty(value)) - return; - - long count = countByUid(uid, type.name()); - if (count == 0) { - if (type == ModifyTypeEnum.bindPhone) { - integralGetService.addBindPhone(uid); - } else if (type == ModifyTypeEnum.bindAlipay) { - integralGetService.addBindAlipay(uid); - } else if (type == ModifyTypeEnum.bindTaoBao) { - integralGetService.addBindTaoBao(uid); - } else if (type == ModifyTypeEnum.bindWeiXin) { - integralGetService.addBindWeiXin(uid); - } else if (type == ModifyTypeEnum.gender) { - integralGetService.addSetGender(uid); - } else if (type == ModifyTypeEnum.nickName) { - integralGetService.addSetNickname(uid); - } else if (type == ModifyTypeEnum.portrait) { - integralGetService.addSetPortrait(uid); - } else if (type == ModifyTypeEnum.setWeiXinNum) { - integralGetService.addSetWeiXinNum(uid); - } - } - - UserInfoModifyRecord oldRecord = userInfoModifyRecordMapper.selectLatestByUidAndType(uid, type.name()); - if (oldRecord == null || !oldRecord.getValue().equalsIgnoreCase(value)) {// 涓嶈兘淇敼閲嶅鐨勬暟鎹� - UserInfoModifyRecord record = new UserInfoModifyRecord(); - record.setUid(uid); - record.setType(type); - record.setValue(value); - record.setCreateTime(new Date()); - userInfoModifyRecordMapper.insertSelective(record); - - if (oldRecord == null) {// 鏂板缓 - // 鍙戦�佽处鍙蜂慨鏀规秷鎭� - UserAccountBindingMQMsg mqMsg = null; - if (type == ModifyTypeEnum.bindPhone) { - mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_PHONE, value, new Date()); - } else if (type == ModifyTypeEnum.bindTaoBao) { - mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_TAOBAO, value, - new Date()); - } else if (type == ModifyTypeEnum.bindWeiXin) { - mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_WX, value, new Date()); - } else if (type == ModifyTypeEnum.bindAlipay) { - mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_ALIPAY, value, - new Date()); - } - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, - UserTopicTagEnum.userAccountBinding, mqMsg); - producer.send(message); - } else {// 淇敼 - if (type == ModifyTypeEnum.portrait) { - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, - UserTopicTagEnum.userInfoUpdate, new Gson().toJson(new UserInfoUpdateMQMsg(uid, - UserInfoUpdateTypeEnum.portrait, value, new Date()))); - producer.send(message); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - LogHelper.errorDetailInfo(e); - } - } - - @Override - public long countByUid(Long uid, String type) { - return userInfoModifyRecordMapper.countByUid(uid, type); - } - - @Override - public void syncBeforeInfo(Long uid) { - // 鑾峰彇鐢ㄦ埛鍩烘湰淇℃伅 - UserInfo user = userInfoService.selectByPKey(uid); - if (user == null || user.getState() != UserInfo.STATE_NORMAL) {// 鐢ㄦ埛涓嶆甯� - return; - } - if (!StringUtil.isNullOrEmpty(user.getPhone())) { - addModifyRecord(uid, ModifyTypeEnum.bindPhone, user.getPhone()); - } - - BindingAccount account = bindingAccountService.getBindingAccountByUidAndType(uid, BindingAccount.TYPE_ALIPAY); - if (account != null) { - addModifyRecord(uid, ModifyTypeEnum.bindAlipay, account.getAccount()); - } - - if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) { - addModifyRecord(uid, ModifyTypeEnum.bindWeiXin, user.getWxUnionId()); - } - - if (user.getNickName() != null && !user.getNickName().startsWith("杩斿埄鍒�") - && !user.getNickName().startsWith(Constant.systemCommonConfig.getDefaultNickName())) { - addModifyRecord(uid, ModifyTypeEnum.nickName, user.getNickName() + ""); - } - - if (!Constant.systemCommonConfig.getDefaultPortrait().equalsIgnoreCase(user.getPortrait())) { - addModifyRecord(uid, ModifyTypeEnum.portrait, user.getPortrait()); - } - - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - if (userInfoExtra != null) { - if (userInfoExtra.getSex() != null) - addModifyRecord(uid, ModifyTypeEnum.gender, userInfoExtra.getSex() + ""); - - if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) - addModifyRecord(uid, ModifyTypeEnum.setWeiXinNum, userInfoExtra.getWeiXin()); - } - - UserExtraTaoBaoInfo taoBaoExtra = userExtraTaoBaoInfoService.getByUid(uid); - if (taoBaoExtra != null && !StringUtil.isNullOrEmpty(taoBaoExtra.getRelationId()) - && !StringUtil.isNullOrEmpty(taoBaoExtra.getSpecialId()) && taoBaoExtra.getRelationValid() - && taoBaoExtra.getSpecialValid()) { - addModifyRecord(uid, ModifyTypeEnum.bindTaoBao, taoBaoExtra.getTaoBaoUid()); - } - - } -} +package com.yeshi.fanli.service.impl.user; + +import java.util.Date; + +import javax.annotation.Resource; + +import org.springframework.scheduling.annotation.Async; +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.google.gson.Gson; +import com.yeshi.fanli.dao.mybatis.user.UserInfoModifyRecordMapper; +import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; +import com.yeshi.fanli.dto.mq.user.body.UserAccountBindingMQMsg; +import com.yeshi.fanli.dto.mq.user.body.UserInfoUpdateMQMsg; +import com.yeshi.fanli.dto.mq.user.body.UserInfoUpdateMQMsg.UserInfoUpdateTypeEnum; +import com.yeshi.fanli.entity.bus.user.BindingAccount; +import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; +import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord; +import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum; +import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; +import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.service.inter.user.integral.IntegralGetService; +import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.manger.msg.RocketMQManager; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; +import com.yeshi.fanli.util.rocketmq.MQTopicName; + +@Service +public class UserInfoModifyRecordServiceImpl implements UserInfoModifyRecordService { + + @Resource + private UserInfoModifyRecordMapper userInfoModifyRecordMapper; + + @Resource + private IntegralGetService integralGetService; + + @Resource + private UserInfoService userInfoService; + + @Resource + private UserInfoExtraService userInfoExtraService; + + @Resource + private BindingAccountService bindingAccountService; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + + @Resource + private RocketMQManager rocketMQManager; + + @Async() + @Transactional + @Override + public void addModifyRecord(Long uid, ModifyTypeEnum type, String value) { + try { + if (uid == null || StringUtil.isNullOrEmpty(value)) + return; + + long count = countByUid(uid, type.name()); + if (count == 0) { + if (type == ModifyTypeEnum.bindPhone) { + integralGetService.addBindPhone(uid); + } else if (type == ModifyTypeEnum.bindAlipay) { + integralGetService.addBindAlipay(uid); + } else if (type == ModifyTypeEnum.bindTaoBao) { + integralGetService.addBindTaoBao(uid); + } else if (type == ModifyTypeEnum.bindWeiXin) { + integralGetService.addBindWeiXin(uid); + } else if (type == ModifyTypeEnum.gender) { + integralGetService.addSetGender(uid); + } else if (type == ModifyTypeEnum.nickName) { + integralGetService.addSetNickname(uid); + } else if (type == ModifyTypeEnum.portrait) { + integralGetService.addSetPortrait(uid); + } else if (type == ModifyTypeEnum.setWeiXinNum) { + integralGetService.addSetWeiXinNum(uid); + } + } + + UserInfoModifyRecord oldRecord = userInfoModifyRecordMapper.selectLatestByUidAndType(uid, type.name()); + if (oldRecord == null || !oldRecord.getValue().equalsIgnoreCase(value)) {// 涓嶈兘淇敼閲嶅鐨勬暟鎹� + UserInfoModifyRecord record = new UserInfoModifyRecord(); + record.setUid(uid); + record.setType(type); + record.setValue(value); + record.setCreateTime(new Date()); + userInfoModifyRecordMapper.insertSelective(record); + + if (oldRecord == null) {// 鏂板缓 + // 鍙戦�佽处鍙蜂慨鏀规秷鎭� + UserAccountBindingMQMsg mqMsg = null; + if (type == ModifyTypeEnum.bindPhone) { + mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_PHONE, value, new Date()); + } else if (type == ModifyTypeEnum.bindTaoBao) { + mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_TAOBAO, value, + new Date()); + } else if (type == ModifyTypeEnum.bindWeiXin) { + mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_WX, value, new Date()); + } else if (type == ModifyTypeEnum.bindAlipay) { + mqMsg = new UserAccountBindingMQMsg(uid, UserAccountBindingMQMsg.TYPE_ALIPAY, value, + new Date()); + } + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, + UserTopicTagEnum.userAccountBinding, mqMsg); + if (!Constant.IS_TEST) + rocketMQManager.sendNormalMsg(message, null); + } else {// 淇敼 + UserInfoUpdateMQMsg mqMsg = null; + + if (type == ModifyTypeEnum.portrait) { + mqMsg = new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.portrait, value, new Date()); + } else if (type == ModifyTypeEnum.nickName) + mqMsg = new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.nickName, value, new Date()); + else if (type == ModifyTypeEnum.setWeiXinNum) + mqMsg = new UserInfoUpdateMQMsg(uid, UserInfoUpdateTypeEnum.wxId, value, new Date()); + + if (mqMsg != null) { + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, + UserTopicTagEnum.userInfoUpdate, mqMsg); + rocketMQManager.sendNormalMsg(message, null); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + LogHelper.errorDetailInfo(e); + } + } + + @Override + public long countByUid(Long uid, String type) { + return userInfoModifyRecordMapper.countByUid(uid, type); + } + + @Override + public void syncBeforeInfo(Long uid) { + // 鑾峰彇鐢ㄦ埛鍩烘湰淇℃伅 + UserInfo user = userInfoService.selectByPKey(uid); + if (user == null || user.getState() != UserInfo.STATE_NORMAL) {// 鐢ㄦ埛涓嶆甯� + return; + } + if (!StringUtil.isNullOrEmpty(user.getPhone())) { + addModifyRecord(uid, ModifyTypeEnum.bindPhone, user.getPhone()); + } + + BindingAccount account = bindingAccountService.getBindingAccountByUidAndType(uid, BindingAccount.TYPE_ALIPAY); + if (account != null) { + addModifyRecord(uid, ModifyTypeEnum.bindAlipay, account.getAccount()); + } + + if (!StringUtil.isNullOrEmpty(user.getWxUnionId())) { + addModifyRecord(uid, ModifyTypeEnum.bindWeiXin, user.getWxUnionId()); + } + + String defaultNickName = userInfoService.getDefaultNickName(user.getSystem(), uid); + + if (user.getNickName() != null && !user.getNickName().startsWith("杩斿埄鍒�") + && !user.getNickName().startsWith(defaultNickName)) { + addModifyRecord(uid, ModifyTypeEnum.nickName, user.getNickName() + ""); + } + + String defaultPortrait = userInfoService.getDefaultPortrait(user.getSystem()); + if (!defaultPortrait.equalsIgnoreCase(user.getPortrait())) { + addModifyRecord(uid, ModifyTypeEnum.portrait, user.getPortrait()); + } + + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + if (userInfoExtra.getSex() != null) + addModifyRecord(uid, ModifyTypeEnum.gender, userInfoExtra.getSex() + ""); + + if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) + addModifyRecord(uid, ModifyTypeEnum.setWeiXinNum, userInfoExtra.getWeiXin()); + } + + UserExtraTaoBaoInfo taoBaoExtra = userExtraTaoBaoInfoService.getByUid(uid); + if (taoBaoExtra != null && !StringUtil.isNullOrEmpty(taoBaoExtra.getRelationId()) + && !StringUtil.isNullOrEmpty(taoBaoExtra.getSpecialId()) && taoBaoExtra.getRelationValid() + && taoBaoExtra.getSpecialValid()) { + addModifyRecord(uid, ModifyTypeEnum.bindTaoBao, taoBaoExtra.getTaoBaoUid()); + } + + } +} -- Gitblit v1.8.0