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