From 4f62b86373d07a1ce920914f35ad2d9dff59e0c6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 06 Sep 2022 14:30:39 +0800
Subject: [PATCH] 20220902
---
src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java | 29 +++++++++++++++++++++--------
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 26 ++++++++++++++++++--------
2 files changed, 39 insertions(+), 16 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
index 200a901..f852aea 100644
--- a/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/quartz/OrderSettlementJob.java
@@ -38,6 +38,9 @@
private MallOrderInfoMapper mallOrderInfoMapper;
@Autowired
+ private MallOrderItemMapper mallOrderItemMapper;
+
+ @Autowired
private IApiMallMemberWalletService memberWalletService;
@Autowired
@@ -108,14 +111,24 @@
if(CollUtil.isNotEmpty(orderInfos)){
for(MallOrderInfo orderInfo : orderInfos){
//生成一条团长提成记录
- MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
- mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
- mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
- BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
- mallLeaderAchieve.setAmount(subtract);
- mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
- mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
- mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+ Long id = orderInfo.getId();
+ List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
+ if(CollUtil.isNotEmpty(mallOrderItemList)){
+ for(MallOrderItem mallOrderItem : mallOrderItemList){
+ Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
+ if(1 == state){
+ MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
+ mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
+ mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
+ BigDecimal itemAmount = mallOrderItem.getAmount();
+// BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
+ mallLeaderAchieve.setAmount(itemAmount);
+ mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
+ mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
+ mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+ }
+ }
+ }
}
mallOrderInfoMapper.updateOrderConfirmStatus(DateUtil.date(),DateUtil.offsetDay(new Date(), -value));
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index b45cace..0220164 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -510,14 +510,24 @@
this.baseMapper.updateById(orderInfo);
//生成一条团长提成记录
- MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
- mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
- mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
- BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
- mallLeaderAchieve.setAmount(subtract);
- mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
- mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
- mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+ Long orderInfoId = orderInfo.getId();
+ List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
+ if(CollUtil.isNotEmpty(mallOrderItemList)){
+ for(MallOrderItem mallOrderItem : mallOrderItemList){
+ Integer state = mallOrderItem.getState() == null ? 1 : mallOrderItem.getState();
+ if(1 == state){
+ MallLeaderAchieve mallLeaderAchieve = new MallLeaderAchieve();
+ mallLeaderAchieve.setMemberId(orderInfo.getMemberId());
+ mallLeaderAchieve.setOrderNo(orderInfo.getOrderNo());
+ BigDecimal itemAmount = mallOrderItem.getAmount();
+// BigDecimal subtract = orderInfo.getAmount().subtract(orderInfo.getCarriage() == null ? BigDecimal.ZERO : orderInfo.getCarriage());
+ mallLeaderAchieve.setAmount(itemAmount);
+ mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
+ mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
+ mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+ }
+ }
+ }
}
@Override
--
Gitblit v1.9.1