From 4114e871bcb3dce771b6aed64a1027d0bbb95ca6 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 16 五月 2019 15:28:37 +0800 Subject: [PATCH] 增加动态用户 --- fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 210 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java index 6f34566..03c9e92 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/UserAccountController.java @@ -9,6 +9,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.encrypt.DESUtil; @@ -45,6 +46,7 @@ import com.yeshi.fanli.service.inter.user.ShamUserService; import com.yeshi.fanli.service.inter.user.SpreadUserImgService; import com.yeshi.fanli.service.inter.user.TBPidService; +import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService; import com.yeshi.fanli.service.inter.user.UserAccountService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserMoneyService; @@ -132,6 +134,9 @@ @Resource private UserMoneyService userMoneyService; + + @Resource + private UserAccountBindingHistoryService userAccountBindingHistoryService; private static final String PASSWORD_MAX_ERROR = "password_max_error"; private static final String EXTRACT_MIN_MONEY = "extract_min_money"; @@ -910,6 +915,8 @@ } redisManager.cacheCommonString(key, "1", 120); + + // 鏀粯瀹濈粦瀹� ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.alipayAccount, account); @@ -1104,4 +1111,207 @@ deviceTokenHWService.unBindDeviceToken(acceptData.getDevice()); out.print(JsonUtil.loadTrueResult("")); } + + /** + * 鏂扮増鐧诲綍 V1.5.3 + * + * @param acceptData + * @param vcode + * @param phone + * @param code + * @param loginType + * 鐧诲綍鏂瑰紡锛� 1-鎵嬫満鐧诲綍 2-寰俊鐧诲綍 + * @param request + * @param out + */ + @RequestMapping(value = "loginNew", method = RequestMethod.POST) + public void loginNew(AcceptData acceptData, String vcode, String phone, String code, int loginType, + HttpServletRequest request, PrintWriter out) { + + try { + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); + if (system == null) { + out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); + return; + } + + UserInfo userInfo = null; + // 鎵嬫満鐧诲綍 + if (loginType == 1) { + userInfo = userAccountService.loginPhone(request, loginType, vcode, phone, system.getAppid()); + } + + // 寰俊鐧诲綍 + if (loginType == 2) { + userInfo = userAccountService.loginWinXin(request, loginType, code, system.getAppid()); + } + + if (userInfo == null) { + out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触")); + } else { + JSONObject data = new JSONObject(); + data.put("userInfo", UserUtil.filterForClientUser(userInfo)); + out.print(JsonUtil.loadTrueResult(data)); + + final UserInfo uuser = userInfo; + ThreadUtil.run(new Runnable() { + public void run() { + try { + /* 鍚屾鏈櫥褰曚箣鍓嶈澶囨娊濂栨暟鎹� */ + int platformType = 0; + String platform = acceptData.getPlatform(); + if ("android".equals(platform)) { + platformType = 1; + } else if ("ios".equals(platform)) { + platformType = 2; + } + userSystemCouponService.copyLotteryPrize(uuser.getId(), platformType, + acceptData.getDevice()); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + } catch (UserAccountException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + try { + LogHelper.cookieLog("鐧诲綍鍑洪敊:" + e.getCode() + "-" + e.getMessage()); + } catch (Exception e1) { + e1.printStackTrace(); + } + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触")); + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + + /** + * 缁戝畾鐢佃瘽鍙风爜 V1.5.3 + * + * @param acceptData + * @param vcode + * @param phone + * @param out + */ + @RequestMapping(value = "bindPhoneNew") + public void bindPhoneNew(AcceptData acceptData, Long uid, String vcode, String phone, PrintWriter out) { + + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); + if (system == null) { + out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); + return; + } + + if (StringUtil.isNullOrEmpty(vcode)) { + out.print(JsonUtil.loadFalseResult("楠岃瘉鐮佷笉鑳戒负绌�")); + return; + } + + if (StringUtil.isNullOrEmpty(phone)) { + out.print(JsonUtil.loadFalseResult("鐢佃瘽鍙风爜涓嶈兘涓虹┖")); + return; + } + + phone = phone.replaceAll(" ", ""); + + String oldVCode = redisManager.getSMSVCode(phone, SMSHistory.TYPE_BIND); + if (Constant.IS_OUTNET) { + if (!vcode.equalsIgnoreCase(oldVCode)) { + out.print(JsonUtil.loadFalseResult(9001, "楠岃瘉鐮侀敊璇紝閲嶆柊杈撳叆")); + return; + } + redisManager.clearSMSFrequencyLimit(phone, SMSHistory.TYPE_BIND); + } + + try { + // 缁戝畾鐢ㄦ埛 + userAccountService.bindPhoneNew(uid, phone); + + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + // 鍒ゆ柇鐢佃瘽鍙风爜鏄惁宸茬粡灏佺 + ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService + .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.phone, phone); + if (ic != null && ic.getEffective() != null && ic.getEffective()) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + // 灏佺鐢ㄦ埛 + // 灏佺缁戝畾鐨勬甯哥敤鎴� + if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) { + UserInfo update = new UserInfo(uid); + update.setState(UserInfo.STATE_FORBIDDEN); + update.setStateDesc("缁戝畾琚皝绂佺殑鐢佃瘽鍙风爜琚皝绂�"); + userInfoService.updateByPrimaryKeySelective(update); + } + return; + } + + JSONObject data = new JSONObject(); + data.put("userInfo", UserUtil.filterForClientUser(user)); + out.print(JsonUtil.loadTrueResult(data)); + + } catch (UserAccountException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "缁戝畾澶辫触")); + } + } + + /** + * 鏇存敼寰俊 + * + * @param acceptData + * @param uid + * @param code + * @param out + */ + @RequestMapping(value = "bindWeiXin") + public void bindWeiXin(AcceptData acceptData, Long uid, String code, PrintWriter out) { + BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(), + acceptData.getPackages()); + + if (system == null) { + out.print(JsonUtil.loadFalseResult("绯荤粺涓嶅瓨鍦�")); + return; + } + + if (StringUtil.isNullOrEmpty(code)) { + out.print(JsonUtil.loadFalseResult("璇蜂笂浼燾ode")); + return; + } + + try { + userAccountService.bindWeiXin(uid, code); + + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + // 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺 + ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService + .listByTypeAndIdentifyCode(ForbiddenUserIdentifyCodeTypeEnum.wxUnionId, user.getWxUnionId()); + if (ic != null && ic.getEffective() != null && ic.getEffective()) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + // 灏佺鐢ㄦ埛 + // 灏佺缁戝畾鐨勬甯哥敤鎴� + if (user != null && user.getState() != null && user.getState() == UserInfo.STATE_NORMAL) { + UserInfo update = new UserInfo(uid); + update.setState(UserInfo.STATE_FORBIDDEN); + update.setStateDesc("缁戝畾琚皝绂佺殑寰俊鍙疯灏佺"); + userInfoService.updateByPrimaryKeySelective(update); + } + return; + } + + JSONObject data = new JSONObject(); + data.put("userInfo", UserUtil.filterForClientUser(user)); + out.print(JsonUtil.loadTrueResult(data)); + } catch (UserAccountException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } + } + } -- Gitblit v1.8.0