From 8eacbd15374d01296926e87be3125731521000ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 12 四月 2019 15:58:23 +0800 Subject: [PATCH] 手机号修改7天内禁止事件添加 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 72 insertions(+), 43 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java index a995194..bce6af0 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserAccountServiceImpl.java +++ b/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; @@ -83,9 +85,12 @@ @Resource private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService; - + @Resource private UserInfoExtraService userInfoExtraService; + + @Resource + private UserAccountBindingHistoryService userAccountBindingHistoryService; @Transactional @Override @@ -899,36 +904,37 @@ 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) { throw new UserAccountException(1, "璇疯緭鍏ユ墜鏈哄彿鐮�"); } 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, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆"); + // } + // } + // redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_LOGIN); + JSONObject logInfo = new JSONObject(); logInfo.put("appId", appId); logInfo.put("phone", phone); @@ -957,8 +963,7 @@ userInfo.setState(UserInfo.STATE_NORMAL); // 鍒涘缓鐢ㄦ埛 addUser(userInfo); - - + try { // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅 userInfoExtraService.createUserInfoExtra(userInfo.getId()); @@ -969,10 +974,11 @@ return userInfo; } - + @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); @@ -1014,7 +1020,7 @@ userInfo.setLastLoginIp(request.getRemoteHost()); userInfo.setState(UserInfo.STATE_NORMAL); addUser(userInfo); - + try { // 绗竴娆$櫥褰曟椂鍒涘缓鐢ㄦ埛棰濆淇℃伅 userInfoExtraService.createUserInfoExtra(userInfo.getId()); @@ -1024,9 +1030,10 @@ } return userInfo; } - + /** * 鏇存柊璐︽埛鐧诲綍淇℃伅 + * * @param userInfo * @param loginType * @param request @@ -1039,15 +1046,14 @@ updateUserInfo.setLastLoginIp(request.getRemoteHost()); userInfoMapper.updateByPrimaryKeySelective(updateUserInfo); } - - + @Override public void bindPhoneNew(Long uid, String phone) throws UserAccountException { UserInfo user = userInfoMapper.selectByPrimaryKey(uid); if (user == null) { throw new UserAccountException(1, "鐢ㄦ埛涓嶅瓨鍦�"); } - + String hasPhone = user.getPhone(); if (!StringUtil.isNullOrEmpty(hasPhone) && hasPhone.equals(phone)) { throw new UserAccountException(2, "鎮ㄥ凡缁忕粦瀹氫簡璇ョ數璇濆彿鐮�"); @@ -1057,44 +1063,54 @@ if (phoneUser != null) { throw new UserAccountException(2, "鍙风爜宸茬粡琚崰鐢�"); } - + // 鏇存柊鐢佃瘽鍙风爜 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 { UserInfo user = userInfoMapper.selectByPrimaryKey(uid); if (user == null) { throw new UserAccountException(1, "鐢ㄦ埛涓嶅瓨鍦�"); } - + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); if (weiXinUser == null) { throw new UserAccountException(2, "寰俊甯愬彿鎺堟潈澶辫触"); } - + if (weiXinUser.getUnionid().equalsIgnoreCase(user.getWxUnionId())) { 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())) { throw new UserAccountException(5, "璇ュ笎鍙锋病鏈夌粦瀹氭墜鏈哄彿鐮侊紝闇�缁戝畾鎵嬫満鍙风爜鎵嶈兘瀹屾垚寰俊鏇存崲"); } - - + UserInfo updateUserInfo = new UserInfo(uid); updateUserInfo.setWxName(weiXinUser.getNickname()); updateUserInfo.setWxOpenId(weiXinUser.getOpenid()); @@ -1111,7 +1127,20 @@ } 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); } - + } -- Gitblit v1.8.0