From c6b07c598a9585a68547ffc2a9b540ca74a3920b Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 12 九月 2019 18:36:35 +0800
Subject: [PATCH] 项目名称bug修改,京东商品推荐修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 39 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 045a5cf..8b0c45c 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
@@ -24,12 +24,16 @@
 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.UserMoneyDebt;
+import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
-import com.yeshi.fanli.exception.AlipayAccountException;
-import com.yeshi.fanli.exception.AlipayTransferException;
-import com.yeshi.fanli.exception.BindingAccountException;
+import com.yeshi.fanli.exception.money.UserMoneyDebtException;
 import com.yeshi.fanli.exception.money.UserMoneyDetailException;
+import com.yeshi.fanli.exception.user.AlipayAccountException;
+import com.yeshi.fanli.exception.user.AlipayTransferException;
+import com.yeshi.fanli.exception.user.BindingAccountException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.money.UserMoneyDebtService;
 import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService;
 import com.yeshi.fanli.service.inter.user.BindingAccountService;
 import com.yeshi.fanli.service.inter.user.UserAccountBindingHistoryService;
@@ -56,6 +60,8 @@
 	private UserMoneyService userMoneyService;
 	@Resource
 	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
+	@Resource
+	private UserMoneyDebtService userMoneyDebtService;
 
 	public List<BindingAccount> getBindingAccountByUid(long uid) {
 		return bindingAccountMapper.selectByUid(uid);
@@ -139,8 +145,8 @@
 		}
 
 		UserInfo userInfo = userInfoMapper.selectByPrimaryKeyForUpdate(uid);
-		if (userInfo.getMyHongBao().compareTo(new BigDecimal("0.1")) < 0)
-			throw new AlipayAccountException(AlipayAccountException.CODE_NO_MONEY, "浣犵殑璐︽埛浣欓涓嶈冻0.1鍏冿紝鏃犻渶缁戝畾鎻愮幇甯愬彿銆�");
+		if (userInfo.getMyHongBao().compareTo(new BigDecimal("0")) <= 0)
+			throw new AlipayAccountException(AlipayAccountException.CODE_NO_MONEY, "浣犵殑璐︽埛鏃犱綑棰濓紝鏃犻渶缁戝畾鎻愮幇甯愬彿銆�");
 
 		// 闇�瑕佽浆璐﹂獙璇�
 		BigDecimal money = new BigDecimal("0.1");
@@ -166,9 +172,27 @@
 			}
 		}
 
-		// 鎵f
-		userMoneyService.subUserMoney(uid, money, userMoneyDetail);
-		userMoneyMsgNotificationService.alipayAccountValid(history);
+		// 浣欓鍏呰冻
+		if (userInfo.getMyHongBao().compareTo(money) >= 0) {
+			// 鎵f
+			userMoneyService.subUserMoney(uid, money, userMoneyDetail);
+			userMoneyMsgNotificationService.alipayAccountValid(history);
+		} else {// 浣欓涓嶈冻锛屾殏鏃朵笉鎵f锛屽姞鍏ュ�熻捶鍏崇郴
+			UserMoneyDebt debt = new UserMoneyDebt();
+			debt.setCreateTime(new Date());
+			debt.setLeftMoney(money);
+			debt.setOriginMoney(money);
+			debt.setSourceId(history.getId());
+			debt.setType(UserMoneyDebtTypeEnum.extractVerify);
+			debt.setUid(uid);
+			try {
+				userMoneyDebtService.addUserMoneyDebt(debt);
+			} catch (UserMoneyDebtException e) {
+				LogHelper.errorDetailInfo(e, "楠岃瘉ID锛�" + history.getId(), "");
+			}
+
+		}
+
 	}
 
 	private void transferAlipayWithVerify(String account, String name)
@@ -250,9 +274,13 @@
 	@Override
 	public boolean canVerifyAlipayAccount(Long uid) throws BindingAccountException {
 		UserInfo userInfo = userInfoMapper.selectByPrimaryKeyForUpdate(uid);
-		if (userInfo.getMyHongBao().compareTo(new BigDecimal("0")) <= 0)
-			throw new BindingAccountException(1, "浣犵殑璐︽埛鐩墠娌℃湁浣欓锛屾棤闇�缁戝畾鎻愮幇甯愬彿銆�");
-
+		if (userInfo.getMyHongBao().compareTo(new BigDecimal("0")) <= 0) {
+			BindingAccount bindingAccount = bindingAccountMapper.selectByUidAndType(uid, BindingAccount.TYPE_ALIPAY);
+			if (bindingAccount != null)
+				throw new BindingAccountException(1, "褰撳墠璐︽埛娌℃湁浣欓锛屾棤闇�淇敼锛岃鏈変綑棰濆悗淇敼銆�");
+			else
+				throw new BindingAccountException(1, "褰撳墠璐︽埛娌℃湁浣欓锛岃鏈変綑棰濆悗缁戝畾銆�");
+		}
 		AlipayAccountValidNormalHistory latest = alipayAccountValidNormalHistoryMapper.selectLatestByUid(uid);
 		if (latest != null) {
 			Calendar caLatest = Calendar.getInstance();

--
Gitblit v1.8.0