admin
2019-04-12 8eacbd15374d01296926e87be3125731521000ee
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java
@@ -28,6 +28,7 @@
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
import com.yeshi.fanli.entity.bus.user.LoginResult;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserAccountBindingHistory;
import com.yeshi.fanli.entity.bus.user.UserConnectHistory;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
@@ -38,6 +39,7 @@
import com.yeshi.fanli.service.inter.user.BindingAccountService;
import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
import com.yeshi.fanli.service.inter.user.UserAccountService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
@@ -86,6 +88,9 @@
   
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private UserAccountBindingHistoryService userAccountBindingHistoryService;
   @Transactional
   @Override
@@ -899,12 +904,10 @@
      return user.getPortrait();
   }
   @Transactional
   @Override
   public UserInfo loginPhone(HttpServletRequest request,int loginType, String vcode, String phone,
         String appId) throws UserAccountException {
   public UserInfo loginPhone(HttpServletRequest request, int loginType, String vcode, String phone, String appId)
         throws UserAccountException {
      // 空额清理
      if (phone == null || phone.trim().length() == 0) {
@@ -913,7 +916,8 @@
      phone = phone.replaceAll(" ", "");
            
//      // 苹果应用商店上线测试号码
//      if ("17316780233".equalsIgnoreCase(phone) && "258168".equalsIgnoreCase(vcode)) {
      // if ("17316780233".equalsIgnoreCase(phone) &&
      // "258168".equalsIgnoreCase(vcode)) {
//         ;
//      } else {
//
@@ -921,9 +925,11 @@
//            throw new UserAccountException(1, "请输入验证码");
//         }
//
//         String oldVcode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_LOGIN);
      // String oldVcode = redisManager.getSMSVCode(phone,
      // SMSHistory.TYPE_LOGIN);
//         LogHelper.test("----------------------登录验证码: " + oldVcode);
//         if (StringUtil.isNullOrEmpty(oldVcode) || !oldVcode.equalsIgnoreCase(vcode)) {
      // if (StringUtil.isNullOrEmpty(oldVcode) ||
      // !oldVcode.equalsIgnoreCase(vcode)) {
//            throw new UserAccountException(1, "验证码错误,重新输入");
//         }
//      }
@@ -958,7 +964,6 @@
         // 创建用户
         addUser(userInfo);
         
         try {
            // 第一次登录时创建用户额外信息
            userInfoExtraService.createUserInfoExtra(userInfo.getId());
@@ -972,7 +977,8 @@
   
   @Transactional
   @Override
   public UserInfo loginWinXin(HttpServletRequest request,int loginType, String code, String appId) throws UserAccountException {
   public UserInfo loginWinXin(HttpServletRequest request, int loginType, String code, String appId)
         throws UserAccountException {
      // 日志信息
      JSONObject logInfo = new JSONObject();
      logInfo.put("appId", appId);
@@ -1027,6 +1033,7 @@
   
   /**
    * 更新账户登录信息
    *
    * @param userInfo
    * @param loginType
    * @param request
@@ -1039,7 +1046,6 @@
      updateUserInfo.setLastLoginIp(request.getRemoteHost());
      userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
   }
   
   @Override
   public void bindPhoneNew(Long uid, String phone) throws UserAccountException {
@@ -1062,11 +1068,22 @@
      UserInfo update = new UserInfo(user.getId());
      update.setPhone(phone);
      userInfoMapper.updateByPrimaryKeySelective(update);
      // 加入绑定记录
      UserAccountBindingHistory history = new UserAccountBindingHistory();
      history.setContent(phone);
      history.setType(UserAccountBindingHistory.TYPE_PHONE);
      history.setUid(uid);
      // 之前已经绑定电话号码
      if (!StringUtil.isNullOrEmpty(user.getPhone()))
         history.setFirst(false);
      else
         history.setFirst(true);
      userAccountBindingHistoryService.addUserAccountBindingHistory(history);
      
      // 发送消息
      userAccountMsgNotificationService.bindingSuccess(uid, MsgAccountDetailFactory.TYPE_PHONE);
   }
   
   @Override
   public void bindWeiXin(Long uid, String code) throws UserAccountException {
@@ -1094,7 +1111,6 @@
         throw new UserAccountException(5, "该帐号没有绑定手机号码,需绑定手机号码才能完成微信更换");
      }
      
      UserInfo updateUserInfo = new UserInfo(uid);
      updateUserInfo.setWxName(weiXinUser.getNickname());
      updateUserInfo.setWxOpenId(weiXinUser.getOpenid());
@@ -1111,6 +1127,19 @@
      }
      userInfoMapper.updateByPrimaryKeySelective(updateUserInfo);
      // 加入绑定记录
      UserAccountBindingHistory history = new UserAccountBindingHistory();
      history.setContent(weiXinUser.getUnionid());
      history.setType(UserAccountBindingHistory.TYPE_WX);
      history.setUid(uid);
      // 之前已经绑定电话号码
      if (!StringUtil.isNullOrEmpty(user.getWxUnionId()))
         history.setFirst(false);
      else
         history.setFirst(true);
      userAccountBindingHistoryService.addUserAccountBindingHistory(history);
      userAccountMsgNotificationService.bindingSuccess(uid, MsgAccountDetailFactory.TYPE_WX);
   }