yujian
2019-04-22 b6c37e4bc38db88a360d0f2c6099183f9bb75bdc
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
import com.yeshi.fanli.entity.bus.user.LoginResult;
import com.yeshi.fanli.entity.bus.user.SMSHistory;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserAccountBindingHistory;
import com.yeshi.fanli.entity.bus.user.UserConnectHistory;
@@ -915,25 +916,21 @@
      }
      phone = phone.replaceAll(" ", "");
      // // 苹果应用商店上线测试号码
      // if ("17316780233".equalsIgnoreCase(phone) &&
      // "258168".equalsIgnoreCase(vcode)) {
      // ;
      // } else {
      //
      // if (StringUtil.isNullOrEmpty(vcode)) {
      // throw new UserAccountException(1, "请输入验证码");
      // }
      //
      // String oldVcode = redisManager.getSMSVCode(phone,
      // SMSHistory.TYPE_LOGIN);
      // LogHelper.test("----------------------登录验证码: " + oldVcode);
      // if (StringUtil.isNullOrEmpty(oldVcode) ||
      // !oldVcode.equalsIgnoreCase(vcode)) {
      // throw new UserAccountException(1, "验证码错误,重新输入");
      // }
      // }
      // redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
      // 苹果应用商店上线测试号码
      if ("17316780233".equalsIgnoreCase(phone) && "258168".equalsIgnoreCase(vcode)) {
         ;
      } else {
         if (StringUtil.isNullOrEmpty(vcode)) {
            throw new UserAccountException(1, "请输入验证码");
         }
         String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
         LogHelper.test("----------------------登录验证码: " + oldVcode);
         if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
            throw new UserAccountException(1, "验证码错误,重新输入");
         }
      }
      JSONObject logInfo = new JSONObject();
      logInfo.put("appId", appId);
@@ -947,6 +944,11 @@
      if (identifyCode1 != null && identifyCode1.getEffective() != null && identifyCode1.getEffective()) {
         throw new UserAccountException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
      }
      // 清空限制
      redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN);
      // 清理次数
      redisManager.removeCommonString("sendMSNLoginCount" + phone);
      // 查询是否存在该电话历史用户
      UserInfo userInfo = userInfoMapper.getEffectiveUserInfoByPhone(phone);
@@ -1003,9 +1005,13 @@
      UserInfo userInfo = userInfoMapper.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid());
      // 直接用的微信登录
      if (userInfo != null) {
         LogHelper.test("微信unionID存在:"+weiXinUser.getUnionid());
         // 更新账户登录信息
         updateLonginInfo(userInfo, loginType, request);
         // 删除邀请分享图
         spreadUserImgService.deleteImgUrl(userInfo.getId());
      } else {
         LogHelper.test("微信unionID不存在:"+weiXinUser.getUnionid());
         // 创建新账户
         userInfo = new UserInfo();
         userInfo.setPortrait(weiXinUser.getHeadimgurl());
@@ -1096,18 +1102,23 @@
      if (weiXinUser == null) {
         throw new UserAccountException(2, "微信帐号授权失败");
      }
      if (weiXinUser.getUnionid().equalsIgnoreCase(user.getWxUnionId())) {
      String wxUnionId = weiXinUser.getUnionid();
      if (StringUtil.isNullOrEmpty(wxUnionId)) {
         throw new UserAccountException(2, "微信帐号授权失败");
      }
      String wxUnionIdExist = user.getWxUnionId();
      if (StringUtil.isNullOrEmpty(wxUnionIdExist)) {
         UserInfo newUser = userInfoMapper.getEffectiveUserInfoByWXUnionId(wxUnionId);
         if (newUser != null) {
            throw new UserAccountException(4, "该微信号已被其他帐号绑定");
         }
      } else if (wxUnionId.equals(wxUnionIdExist)) {
         throw new UserAccountException(3, "微信帐号一致无需更换");
      }
      UserInfo newUser = userInfoMapper.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid());
      if (newUser != null) {
         throw new UserAccountException(4, "该微信号已被其他帐号绑定");
      }
      String wxUnionId = user.getWxUnionId();
      if (!StringUtil.isNullOrEmpty(wxUnionId) && StringUtil.isNullOrEmpty(user.getPhone())) {
      if (StringUtil.isNullOrEmpty(user.getPhone())) {
         throw new UserAccountException(5, "该帐号没有绑定手机号码,需绑定手机号码才能完成微信更换");
      }