From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/BindingAccountServiceImpl.java | 42 ++++++++++++++++++++++++++++++------------ 1 files changed, 30 insertions(+), 12 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 1901c46..efff08f 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,16 +24,20 @@ 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.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; import com.yeshi.fanli.service.inter.user.UserMoneyService; -import com.yeshi.fanli.service.inter.user.UserNotificationService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; @@ -48,18 +52,16 @@ private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper; @Resource private UserInfoMapper userInfoMapper; - - @Resource - private UserNotificationService userNotificationService; - @Resource private UserAccountBindingHistoryService userAccountBindingHistoryService; - @Resource private UserMoneyDetailMapper userMoneyDetailMapper; - @Resource private UserMoneyService userMoneyService; + @Resource + private UserMoneyMsgNotificationService userMoneyMsgNotificationService; + @Resource + private UserMoneyDebtService userMoneyDebtService; public List<BindingAccount> getBindingAccountByUid(long uid) { return bindingAccountMapper.selectByUid(uid); @@ -144,7 +146,7 @@ UserInfo userInfo = userInfoMapper.selectByPrimaryKeyForUpdate(uid); if (userInfo.getMyHongBao().compareTo(new BigDecimal("0")) <= 0) - throw new AlipayAccountException(AlipayAccountException.CODE_NO_MONEY, "浣犵殑璐︽埛鐩墠娌℃湁浣欓锛屾棤闇�缁戝畾鎻愮幇甯愬彿銆�"); + throw new AlipayAccountException(AlipayAccountException.CODE_NO_MONEY, "浣犵殑璐︽埛鏃犱綑棰濓紝鏃犻渶缁戝畾鎻愮幇甯愬彿銆�"); // 闇�瑕佽浆璐﹂獙璇� BigDecimal money = new BigDecimal("0.1"); @@ -170,10 +172,26 @@ } } - // 鎵f - userMoneyService.subUserMoney(uid, money, userMoneyDetail); + // 浣欓鍏呰冻 + 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(), ""); + } - userNotificationService.alipayAccountValidRight(uid, money, account); + } } @@ -217,7 +235,7 @@ UserAccountBindingHistory.TYPE_PHONE); // 鎵嬫満鍙锋洿鎹㈢粦瀹氱殑7澶╁唴涓嶈兘鎻愮幇 if (history != null && !history.getFirst() - && (System.currentTimeMillis() - history.getCreateTime().getTime()) > 1000 * 60 * 60 * 24 * 7L) { + && (System.currentTimeMillis() - history.getCreateTime().getTime()) < 1000 * 60 * 60 * 24 * 7L) { throw new AlipayAccountException(111, "淇敼鎵嬫満鍙�7澶╁唴涓嶅厑璁镐慨鏀规敮浠樺疂璐﹀彿"); } } -- Gitblit v1.8.0