From 24a8d17e007545f7426c48352109aa1a9c6587ee Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 06 五月 2020 12:02:09 +0800 Subject: [PATCH] IOS上线隐藏我的界面的banner与超级会员升级信息 --- fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyDebtServiceImpl.java | 128 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 113 insertions(+), 15 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyDebtServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyDebtServiceImpl.java index bc53c80..678f1f8 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyDebtServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/UserMoneyDebtServiceImpl.java @@ -2,29 +2,38 @@ import java.math.BigDecimal; import java.util.Date; +import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.yeshi.fanli.dao.mybatis.AlipayAccountValidNormalHistoryMapper; import com.yeshi.fanli.dao.mybatis.money.UserMoneyDebtMapper; import com.yeshi.fanli.dao.mybatis.money.UserMoneyDebtReturnHistoryMapper; +import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.money.UserMoneyDebt; import com.yeshi.fanli.entity.money.UserMoneyDebt.UserMoneyDebtTypeEnum; import com.yeshi.fanli.entity.money.UserMoneyDebtReturnHistory; import com.yeshi.fanli.entity.money.UserMoneyDetail; +import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanDrawBack; import com.yeshi.fanli.exception.money.UserMoneyDebtException; import com.yeshi.fanli.exception.money.UserMoneyDetailException; -import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; +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.taobao.TaoBaoOrderService; -import com.yeshi.fanli.service.inter.taobao.TaoBaoWeiQuanDrawBackService; +import com.yeshi.fanli.service.inter.money.UserMoneyService; +import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService; +import com.yeshi.fanli.service.inter.money.tb.TaoBaoWeiQuanDrawBackService; +import com.yeshi.fanli.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.order.HongBaoOrderService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; +import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.UserMoneyService; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; @Service @@ -46,6 +55,9 @@ private HongBaoV2Service hongBaoV2Service; @Resource + private HongBaoOrderService hongBaoOrderService; + + @Resource private UserMoneyService userMoneyService; @Resource @@ -53,6 +65,12 @@ @Resource private UserInfoService userInfoService; + + @Resource + private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper; + + @Resource + private CommonOrderService commonOrderService; @Override public void addUserMoneyDebt(UserMoneyDebt debt) throws UserMoneyDebtException { @@ -74,7 +92,7 @@ UserMoneyDebt old = userMoneyDebtMapper.selectByUidAndTypeAndSourceId(debt.getUid(), debt.getType(), debt.getSourceId()); if (old != null) { - throw new UserMoneyDebtException(3, "瀵瑰簲缁存潈宸茬粡瀛樺湪"); + throw new UserMoneyDebtException(3, "瀵瑰簲鍞悗宸茬粡瀛樺湪"); } userMoneyDebtMapper.insertSelective(debt); } @@ -86,7 +104,7 @@ return userMoneyDebtMapper.selectByTypeAndSourceId(type, sourceId); } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void repayDebt(UserMoneyDebt debt, BigDecimal money) throws UserMoneyDebtException { if (debt == null || debt.getId() == null) @@ -143,8 +161,25 @@ } // 鏂扮増閫氱煡 - userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(), money, - userInfoService.getMyHB(uid)); + List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, + weiQuanDrawBack.getOrderId()); + int goodsCount = 0; + for (CommonOrder co : orderList) { + if (co.getState() != CommonOrder.STATE_SX) + goodsCount += co.getCount(); + } + + BigDecimal fanliMoney = new BigDecimal(0); + List<HongBaoOrder> hongBaoOrderList = hongBaoOrderService + .listDetailByOrderIdAndSourceType(weiQuanDrawBack.getOrderId(), Constant.SOURCE_TYPE_TAOBAO); + + for (HongBaoOrder hongBaoOrder : hongBaoOrderList) { + fanliMoney = fanliMoney.add(hongBaoOrder.getHongBaoV2().getMoney()); + } + + userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(), + Constant.SOURCE_TYPE_TAOBAO, money, fanliMoney, goodsCount, + orderList.get(0).getThirdCreateTime()); break; case HongBaoV2.TYPE_SHARE_GOODS: @@ -155,8 +190,26 @@ weiQuanDrawBack, money); userMoneyService.subUserMoney(uid, money, userMoneyDetail); - userMoneyMsgNotificationService.shareOrderWeiQuan(debt.getUid(), weiQuanDrawBack.getOrderId(), - money, userInfoService.getMyHB(uid)); + // 鏂扮増閫氱煡 + List<CommonOrder> orderList1 = commonOrderService + .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, weiQuanDrawBack.getOrderId()); + int goodsCount1 = 0; + for (CommonOrder co : orderList1) { + if (co.getState() != CommonOrder.STATE_SX) + goodsCount1 += co.getCount(); + } + + BigDecimal fanliMoney1 = new BigDecimal(0); + List<HongBaoOrder> hongBaoOrderList1 = hongBaoOrderService.listDetailByOrderIdAndSourceType( + weiQuanDrawBack.getOrderId(), Constant.SOURCE_TYPE_TAOBAO); + + for (HongBaoOrder hongBaoOrder : hongBaoOrderList1) { + fanliMoney1 = fanliMoney1.add(hongBaoOrder.getHongBaoV2().getMoney()); + } + + userMoneyMsgNotificationService.shareOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(), + Constant.SOURCE_TYPE_TAOBAO, money, fanliMoney1, goodsCount1, + orderList1.get(0).getThirdCreateTime()); } catch (UserMoneyDetailException e) { throw new UserMoneyDebtException(12, "鎻掑叆璧勯噾璇︽儏鍑洪敊"); @@ -176,14 +229,59 @@ throw new UserMoneyDebtException(12, "鎻掑叆璧勯噾璇︽儏鍑洪敊"); } - // 鏂扮増閫氱煡 - userMoneyMsgNotificationService.inviteOrderWeiQuan(uid, weiQuanDrawBack.getOrderId(), money, - userInfoService.getMyHB(uid)); break; - } + } else if (debt.getType() == UserMoneyDebtTypeEnum.extractVerify) {// 鎻愮幇楠岃瘉 + // 鏂扮増璧勯噾璁板綍 + AlipayAccountValidNormalHistory aliPayAccountHistory = alipayAccountValidNormalHistoryMapper + .selectByPrimaryKey(debt.getSourceId()); + AlipayAccountValidNormalHistory first = alipayAccountValidNormalHistoryMapper + .selectLatestByUid(aliPayAccountHistory.getUid()); + + if (aliPayAccountHistory == null) + return; + try { + UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractAccountValid(aliPayAccountHistory, + money); + userMoneyService.subUserMoney(aliPayAccountHistory.getUid(), money, userMoneyDetail); + } catch (UserMoneyDetailException e) { + throw new UserMoneyDebtException(12, "鎻掑叆璧勯噾璇︽儏鍑洪敊"); + } + userMoneyMsgNotificationService.alipayAccountValid(aliPayAccountHistory, "1涓湀", + first.getId().longValue() != aliPayAccountHistory.getId()); } } + @Transactional(rollbackFor = Exception.class) + @Override + public void repayDebt(Long uid) { + // 鏌ヨ鏄惁鏈夋瑺鍊� + List<UserMoneyDebt> list = userMoneyDebtMapper.listByUidWithHasLeftMoney(uid, 0, 50); + if (list != null && list.size() > 0) {// 鏈夋瑺鍊� + for (UserMoneyDebt debt : list) { + BigDecimal leftMoney = userInfoService.getBalance(uid); + if (leftMoney.compareTo(debt.getLeftMoney()) >= 0) {// 鏈夎冻澶熺殑璧勯噾鍋胯繕鍊哄姟 + try { + repayDebt(debt, debt.getLeftMoney()); + } catch (UserMoneyDebtException e) { + try { + LogHelper.errorDetailInfo(e, "uid:" + uid + " debtId:" + debt.getId(), null); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + } + } + } + + @Override + public boolean isHaveDebtToRepay(Long uid) { + List<UserMoneyDebt> debtList = userMoneyDebtMapper.listByUidWithHasLeftMoney(uid, 0, 1); + if (debtList != null && debtList.size() > 0) + return true; + return false; + } + } -- Gitblit v1.8.0