From 155913b57ad50126240bc3d5c1aef6ebfe12e3cf Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 12 九月 2019 16:43:15 +0800 Subject: [PATCH] 微信开放平台修改 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java index fcbbdc1..d2a8d1a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserAccountController.java @@ -14,6 +14,7 @@ import org.yeshi.utils.encrypt.DESUtil; import com.alipay.api.AlipayApiException; +import com.yeshi.fanli.dto.wx.WXAccountInfoDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.user.BindingAccount; import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode; @@ -152,7 +153,7 @@ @Resource private UserTaoLiJinOriginService userTaoLiJinOriginService; - + @Resource private UserInfoModifyRecordService userInfoModifyRecordService; @@ -221,8 +222,8 @@ tbUserInfo.setTbPic(tbPortrait); try { - LoginResult result = userAccountService.login(request, first, system.getAppid(), code, phone, tbUserInfo, - wxinstall, loginType); + LoginResult result = userAccountService.login(request, acceptData, first, system.getAppid(), code, phone, + tbUserInfo, wxinstall, loginType); if (result == null) LogHelper.error("login-result涓虹┖鍊�"); @@ -387,7 +388,10 @@ } UserInfo user = null; if (!StringUtil.isNullOrEmpty(code)) { - WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + WXAccountInfoDTO accountInfo = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, accountInfo.getAppId(), + accountInfo.getAppSecret()); if (weiXinUser == null) { out.print(JsonUtil.loadFalseResult(1, "鑾峰彇寰俊鐢ㄦ埛淇℃伅澶辫触")); return; @@ -640,7 +644,7 @@ } try { - userAccountService.changeWXBind(uid, code); + userAccountService.changeWXBind(acceptData, uid, code); UserInfo user = userInfoService.getUserByIdWithMybatis(uid); // 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺 ForbiddenUserIdentifyCode ic = forbiddenUserIdentifyCodeService @@ -941,6 +945,8 @@ String[] ALIPAY_CODES = new String[] { "SYSTEM_ERROR", "PERMIT_CHECK_PERM_LIMITED", "PERM_AML_NOT_REALNAME_REV", "PERM_AML_NOT_REALNAME_REV", "PAYEE_USER_INFO_ERROR", "PAYEE_ACC_OCUPIED", "PERMIT_CHECK_PERM_IDENTITY_THEFT", "PERMIT_NON_BANK_LIMIT_PAYEE", "EXCEED_LIMIT_UNRN_DM_AMOUNT" }; + BindingAccount oldBindingAccount = bindingAccountService.getBindingAccountByUidAndType(uid, + BindingAccount.TYPE_ALIPAY); try { BigDecimal balance = user.getMyHongBao(); BindingAccount bindingAccount = bindingAccountService.changeAlipayBindingWithVerify(uid, name, account); @@ -951,7 +957,7 @@ else out.print(JsonUtil.loadTrue(0, JsonUtil.getGson().toJson(bindingAccount), "绯荤粺宸叉垚鍔熻浆璐�0.1鍏冨埌鎻愮幇璐﹀彿涓紝鎻愮幇璐﹀彿楠岃瘉閫氳繃锛屾伃鍠滀綘锛佸彲浠ユ彁鐜颁簡銆傛敞锛氭0.1鍏冨皢浼氬湪鍚庣画浜х敓鐨勪綑棰濅腑鍚堢悊鎵i櫎锛屾暚璇风煡鏅撱��")); - + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.bindAlipay, account); } catch (AlipayTransferException e1) { if (e1.getSubCode().equalsIgnoreCase("PAYEE_NOT_EXIST")) { @@ -974,7 +980,11 @@ } catch (AlipayAccountException e3) { // 璐︽埛鏃犱綑棰� if (e3.getCode() == AlipayAccountException.CODE_NO_MONEY) { - out.print(JsonUtil.loadFalseResult(5, "浣犵殑璐︽埛鐩墠娌℃湁浣欓锛屾棤闇�缁戝畾鎻愮幇璐﹀彿銆�")); + if (oldBindingAccount != null) { + out.print(JsonUtil.loadFalseResult(5, "褰撳墠璐︽埛娌℃湁浣欓锛屾棤闇�淇敼锛岃鏈変綑棰濆悗淇敼")); + } else { + out.print(JsonUtil.loadFalseResult(5, "褰撳墠璐︽埛娌℃湁浣欓锛岃鏈変綑棰濆悗缁戝畾")); + } return; // 鎻愮幇娆℃暟闄愬埗 } else if (e3.getCode() == AlipayAccountException.CODE_TIMES_LIMIT) { @@ -1156,7 +1166,7 @@ // 寰俊鐧诲綍 if (loginType == 2) { - userInfo = userAccountService.loginWinXin(request, loginType, code, system.getAppid()); + userInfo = userAccountService.loginWinXin(request, acceptData, loginType, code, system.getAppid()); } if (userInfo == null) { @@ -1312,7 +1322,7 @@ } try { - userAccountService.bindWeiXin(uid, code); + userAccountService.bindWeiXin(acceptData,uid, code); UserInfo user = userInfoService.getUserByIdWithMybatis(uid); // 鍒ゆ柇taoBaoUid鏄惁宸茬粡灏佺 -- Gitblit v1.8.0