From f4548a3ee46afe45da4ee2a42dc169c575deee9f Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 31 七月 2019 11:57:36 +0800
Subject: [PATCH] 动态v2兼容

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java
index 913473f..7c48155 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java
@@ -22,6 +22,7 @@
 import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
 import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
 import com.yeshi.fanli.entity.bus.user.BindingAccount;
+import com.yeshi.fanli.entity.bus.user.UserAccountBindingHistory;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.exception.AlipayAccountException;
@@ -29,8 +30,10 @@
 import com.yeshi.fanli.exception.BindingAccountException;
 import com.yeshi.fanli.exception.money.UserMoneyDetailException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
-import com.yeshi.fanli.service.inter.user.UserNotificationService;
+import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
+import com.yeshi.fanli.service.inter.user.UserMoneyService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
@@ -45,12 +48,14 @@
 	private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper;
 	@Resource
 	private UserInfoMapper userInfoMapper;
-
 	@Resource
-	private UserNotificationService userNotificationService;
-
+	private UserAccountBindingHistoryService userAccountBindingHistoryService;
 	@Resource
 	private UserMoneyDetailMapper userMoneyDetailMapper;
+	@Resource
+	private UserMoneyService userMoneyService;
+	@Resource
+	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
 
 	public List<BindingAccount> getBindingAccountByUid(long uid) {
 		return bindingAccountMapper.selectByUid(uid);
@@ -140,8 +145,7 @@
 		// 闇�瑕佽浆璐﹂獙璇�
 		BigDecimal money = new BigDecimal("0.1");
 		transferAlipayWithVerify(account, name);
-		// 鎵f
-		userInfoMapper.subHongBaoByUid(uid, money);
+
 		// 杞处鎴愬姛
 		// 鎻掑叆杞处鎴愬姛琛�
 		AlipayAccountValidNormalHistory history = new AlipayAccountValidNormalHistory();
@@ -150,10 +154,10 @@
 		history.setName(name);
 		history.setUid(uid);
 		alipayAccountValidNormalHistoryMapper.insertSelective(history);
+		UserMoneyDetail userMoneyDetail = null;
 		// 鏂扮増璧勯噾
 		try {
-			UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractAccountValid(history, money);
-			userMoneyDetailMapper.insert(userMoneyDetail);
+			userMoneyDetail = UserMoneyDetailFactory.createExtractAccountValid(history, money);
 		} catch (UserMoneyDetailException e) {
 			try {
 				LogHelper.errorDetailInfo(e);
@@ -162,8 +166,9 @@
 			}
 		}
 
-		userNotificationService.alipayAccountValidRight(uid, money, account);
-
+		// 鎵f
+		userMoneyService.subUserMoney(uid, money, userMoneyDetail);
+		userMoneyMsgNotificationService.alipayAccountValid(history);
 	}
 
 	private void transferAlipayWithVerify(String account, String name)
@@ -199,6 +204,17 @@
 	@Override
 	public BindingAccount changeAlipayBindingWithVerify(Long uid, String name, String account)
 			throws AlipayTransferException, AlipayApiException, AlipayAccountException {
+		BindingAccount bindingAccount = bindingAccountMapper.selectByUidAndType(uid, BindingAccount.TYPE_ALIPAY);
+		if (bindingAccount != null) {
+			// 楠岃瘉鏄惁7澶╁唴鏇存崲浜嗘墜鏈哄彿
+			UserAccountBindingHistory history = userAccountBindingHistoryService.getLatestHistory(uid,
+					UserAccountBindingHistory.TYPE_PHONE);
+			// 鎵嬫満鍙锋洿鎹㈢粦瀹氱殑7澶╁唴涓嶈兘鎻愮幇
+			if (history != null && !history.getFirst()
+					&& (System.currentTimeMillis() - history.getCreateTime().getTime()) < 1000 * 60 * 60 * 24 * 7L) {
+				throw new AlipayAccountException(111, "淇敼鎵嬫満鍙�7澶╁唴涓嶅厑璁镐慨鏀规敮浠樺疂璐﹀彿");
+			}
+		}
 
 		try {
 			validAlipayAccount(uid, account, name);
@@ -210,7 +226,6 @@
 			throw new AlipayAccountException(e1.getCode(), e1.getMsg());
 		}
 
-		BindingAccount bindingAccount = bindingAccountMapper.selectByUidAndType(uid, BindingAccount.TYPE_ALIPAY);
 		if (bindingAccount == null)// 鍒涘缓璐﹀彿
 		{
 			bindingAccount = new BindingAccount();

--
Gitblit v1.8.0