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