admin
2019-09-16 cc55ffcea74c7d23dadaa0860befbcdf98f35341
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoModifyRecordServiceImpl.java
@@ -8,11 +8,20 @@
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.user.UserInfoModifyRecordMapper;
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.integral.IntegralGetService;
import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
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.util.Constant;
import com.yeshi.fanli.util.StringUtil;
@Service
@@ -20,9 +29,21 @@
   @Resource
   private UserInfoModifyRecordMapper userInfoModifyRecordMapper;
   @Resource
   private IntegralGetService integralGetService;
   @Resource
   private UserInfoService userInfoService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private BindingAccountService bindingAccountService;
   @Resource
   private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
   @Async()
   @Override
@@ -30,7 +51,7 @@
      try {
         if (uid == null || StringUtil.isNullOrEmpty(value))
            return;
         long count = countByUid(uid, type.name());
         if (count == 0) {
            if (type == ModifyTypeEnum.bindPhone) {
@@ -51,13 +72,16 @@
               integralGetService.addSetWeiXinNum(uid);
            }
         }
         UserInfoModifyRecord record = new UserInfoModifyRecord();
         record.setUid(uid);
         record.setType(type);
         record.setValue(value);
         record.setCreateTime(new Date());
         userInfoModifyRecordMapper.insertSelective(record);
         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);
         }
      } catch (Exception e) {
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
@@ -68,4 +92,50 @@
   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("返利券")) {
         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());
      }
   }
}