From acc40dc6fc11908f6fb459526537e3fd10a2be54 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 5 Jul 2021 15:45:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E9=85=8D=E9=80=81=E4=B8=8D?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=B7=B2=E7=BB=8F=E7=A6=81=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E7=89=A9=E6=B5=81=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionOrderServiceImpl.java | 78 ++++++++++++++----- .../order/order/mapper/OrderMapper.java | 2 +- .../system/mapper/StoreLogisticsMapper.java | 6 +- 3 files changed, 64 insertions(+), 22 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java index 4b64ab99..e30bedb0 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionOrderServiceImpl.java @@ -2,6 +2,7 @@ package cn.lili.modules.distribution.serviceimpl; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; +import cn.hutool.json.JSONUtil; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.PageUtil; import cn.lili.modules.distribution.entity.dos.Distribution; @@ -13,8 +14,12 @@ import cn.lili.modules.distribution.service.DistributionOrderService; import cn.lili.modules.distribution.service.DistributionService; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.StoreFlow; +import cn.lili.modules.order.order.entity.enums.PayStatusEnum; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.order.order.service.StoreFlowService; +import cn.lili.modules.system.entity.dos.Setting; +import cn.lili.modules.system.entity.dto.DistributionSetting; +import cn.lili.modules.system.entity.enums.SettingEnum; import cn.lili.modules.system.service.SettingService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -56,6 +61,13 @@ public class DistributionOrderServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper() .eq(StoreFlow::getOrderSn, orderSn) .isNotNull(StoreFlow::getDistributionRebate)); - Double rebate=0.0; + Double rebate = 0.0; //循环店铺流水记录判断是否包含分销商品 //包含分销商品则进行记录分销订单、计算分销总额 for (StoreFlow storeFlow : storeFlowList) { - rebate=CurrencyUtil.add(rebate,storeFlow.getDistributionRebate()); + rebate = CurrencyUtil.add(rebate, storeFlow.getDistributionRebate()); DistributionOrder distributionOrder = new DistributionOrder(storeFlow); distributionOrder.setDistributionId(order.getDistributionId()); //分销员信息 @@ -80,26 +92,59 @@ public class DistributionOrderServiceImpl extends ServiceImpl distributionOrderList = this.list(new LambdaQueryWrapper() + .eq(DistributionOrder::getOrderSn, orderSn)); + + //分销金额 + Double rebate = 0.0; + + //包含分销商品则进行记录分销订单、计算分销总额 + for (DistributionOrder distributionOrder : distributionOrderList) { + rebate = CurrencyUtil.add(rebate, distributionOrder.getRebate()); + } + + //如果包含分销商品则记录会员的分销总额 + if (rebate != 0.0) { + distributionService.addRebate(CurrencyUtil.sub(0, rebate), order.getDistributionId()); + } + } + + //修改分销订单的状态 this.update(new LambdaUpdateWrapper().eq(DistributionOrder::getOrderSn, orderSn) .set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name())); + } @Override @@ -117,18 +162,15 @@ public class DistributionOrderServiceImpl extends ServiceImpl().eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()) + if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.CANCEL.name())) { + return; + } else if (distributionOrder.getDistributionOrderStatus().equals(DistributionOrderStatusEnum.WAIT_BILL.name())) { + this.update(new LambdaUpdateWrapper() + .eq(DistributionOrder::getOrderItemSn, storeFlow.getOrderItemSn()) .set(DistributionOrder::getDistributionOrderStatus, DistributionOrderStatusEnum.CANCEL.name())); - }else{ - //创建分销退款订单 - DistributionOrder backDistributionOrder = new DistributionOrder(); - - this.save(backDistributionOrder); + } else { //修改分销员提成金额 - distributionService.subCanRebate(CurrencyUtil.sub(0,storeFlow.getDistributionRebate()),distributionOrder.getDistributionId()); + distributionService.subCanRebate(CurrencyUtil.sub(0, storeFlow.getDistributionRebate()), distributionOrder.getDistributionId()); } } } diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java index 081f4ae4..4c14bf22 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java @@ -41,7 +41,7 @@ public interface OrderMapper extends BaseMapper { @Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," + "o.payment_method, o.logistics_name,o.freight_price,o.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," + - "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order_item oi INNER JOIN li_order o ON oi.order_sn=o.sn") + "o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order_item oi INNER JOIN li_order o ON oi.order_sn=o.sn ${ew.customSqlSegment}") List queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper); @Select("select * from li_order ${ew.customSqlSegment} ") diff --git a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java b/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java index 23bb348b..a0c06324 100644 --- a/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java +++ b/framework/src/main/java/cn/lili/modules/system/mapper/StoreLogisticsMapper.java @@ -15,13 +15,13 @@ import java.util.List; */ public interface StoreLogisticsMapper extends BaseMapper { - @Select("SELECT l.* FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId}") + @Select("SELECT l.* FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId} AND l.disabled='OPEN'") List getSelectedStoreLogistics(String storeId); - @Select("SELECT l.name FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId}") + @Select("SELECT l.name FROM li_logistics l RIGHT JOIN li_store_logistics sl ON l.id=sl.logistics_id WHERE sl.store_id=#{storeId} AND l.disabled='OPEN'") List getSelectedStoreLogisticsName(String storeId); - @Select("SELECT *, ( SELECT sl.id FROM li_store_logistics sl WHERE l.id = sl.logistics_id AND sl.store_id=#{storeId} ) AS selected FROM li_logistics l;") + @Select("SELECT *, ( SELECT sl.id FROM li_store_logistics sl WHERE l.id = sl.logistics_id AND sl.store_id=#{storeId} ) AS selected FROM li_logistics l AND l.disabled='OPEN';") List getStoreLogistics(String storeId); } \ No newline at end of file