From 51542f45e01ff434381ebed7584917bca5b5c197 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 06 Sep 2022 15:10:09 +0800
Subject: [PATCH] 20220902
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 44 insertions(+), 8 deletions(-)
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 fafe3d7..5d503c2 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
@@ -85,6 +85,11 @@
throw new FebsException("请选择自提点");
}
+ MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
+ if(ObjectUtil.isEmpty(mallTeamLeader)){
+ throw new FebsException("请重新选择团长");
+ }
+
String orderNo = MallUtils.getOrderNum();
MallOrderInfo orderInfo = new MallOrderInfo();
orderInfo.setOrderNo(orderNo);
@@ -227,6 +232,23 @@
orderInfo.setStatus(OrderStatusEnum.CANCEL.getValue());
orderInfo.setCancelType(MallOrderInfo.CANCEL_BY_SELF);
this.baseMapper.updateById(orderInfo);
+ List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(id);
+ if(CollUtil.isNotEmpty(mallOrderItemList)){
+ for(MallOrderItem mallOrderItem : mallOrderItemList){
+ Long goodsId = mallOrderItem.getGoodsId();
+ Long skuId = mallOrderItem.getSkuId();
+ Integer cnt = mallOrderItem.getCnt();
+ MallGoods mallGoods = mallGoodsMapper.selectById(goodsId);
+ mallGoods.setVolume(mallGoods.getVolume() - cnt);
+ mallGoods.setStock(mallGoods.getStock() + cnt);
+ mallGoodsMapper.updateById(mallGoods);
+
+ MallGoodsSku mallGoodsSku = mallGoodsSkuMapper.selectById(skuId);
+ mallGoodsSku.setSkuVolume(mallGoodsSku.getSkuVolume() - cnt);
+ mallGoodsSku.setStock(mallGoodsSku.getStock() + cnt);
+ mallGoodsSkuMapper.updateById(mallGoodsSku);
+ }
+ }
}
/**
@@ -488,14 +510,28 @@
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)){
+ DataDictionaryCustom dicBonusPercent = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.BONUS_PERCENT.getType(), DataDictionaryEnum.BONUS_PERCENT.getCode());
+ BigDecimal bonusPercent = new BigDecimal(dicBonusPercent.getValue()).setScale(2,BigDecimal.ROUND_DOWN);
+ 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());
+ mallLeaderAchieve.setOrderItemId(mallOrderItem.getId());
+ BigDecimal itemAmount = mallOrderItem.getAmount();
+ mallLeaderAchieve.setAmount(itemAmount);
+ BigDecimal bigDecimal = bonusPercent.multiply(itemAmount).setScale(2, BigDecimal.ROUND_DOWN);
+ mallLeaderAchieve.setProfitAmount(bigDecimal);
+ mallLeaderAchieve.setUniqueCode(orderInfo.getTakeUniqueCode());
+ mallLeaderAchieve.setState(MallLeaderAchieve.STATE_ONE);
+ mallLeaderAchieveMapper.insert(mallLeaderAchieve);
+ }
+ }
+ }
}
@Override
--
Gitblit v1.9.1