From 64c095f20e568ebbc4c62189d4c8eb3fc2ec7972 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Wed, 19 May 2021 19:11:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E9=94=80=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DistributionBuyerController.java | 3 +- .../DistributionCashBuyerController.java | 2 +- .../DistributionGoodsBuyerController.java | 2 +- .../DistributionOrderBuyerController.java | 3 +- .../distribution/entity/dos/Distribution.java | 3 + .../mapper/DistributionMapper.java | 5 +- .../service/DistributionOrderService.java | 1 + .../service/DistributionService.java | 7 ++- .../DistributionOrderServiceImpl.java | 57 +++++++++++++++++-- .../serviceimpl/DistributionServiceImpl.java | 13 +++-- .../DistributionCashManagerController.java | 2 +- .../DistributionGoodsManagerController.java | 3 +- .../DistributionManagerController.java | 2 +- .../DistributionOrderManagerController.java | 3 +- .../DistributionGoodsStoreController.java | 3 +- .../DistributionOrderStoreController.java | 3 +- 16 files changed, 82 insertions(+), 30 deletions(-) rename buyer-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionBuyerController.java (97%) rename buyer-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionCashBuyerController.java (97%) rename buyer-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionGoodsBuyerController.java (98%) rename buyer-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionOrderBuyerController.java (95%) rename manager-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionCashManagerController.java (97%) rename manager-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionGoodsManagerController.java (95%) rename manager-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionManagerController.java (98%) rename manager-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionOrderManagerController.java (95%) rename seller-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionGoodsStoreController.java (97%) rename seller-api/src/main/java/cn/lili/controller/{ => other}/distribution/DistributionOrderStoreController.java (95%) diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java similarity index 97% rename from buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java index 82cac667..4cc17ed8 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.distribution; +package cn.lili.controller.other.distribution; import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.ResultUtil; @@ -13,7 +13,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java similarity index 97% rename from buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java index 3801d30b..4333b430 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionCashBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionCashBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.distribution; +package cn.lili.controller.other.distribution; import cn.lili.common.utils.ResultUtil; import cn.lili.common.vo.PageVO; diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsBuyerController.java similarity index 98% rename from buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsBuyerController.java index 76338351..ac671a4d 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionGoodsBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionGoodsBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.distribution; +package cn.lili.controller.other.distribution; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; diff --git a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionOrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderBuyerController.java similarity index 95% rename from buyer-api/src/main/java/cn/lili/controller/distribution/DistributionOrderBuyerController.java rename to buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderBuyerController.java index f313316a..5e7599ef 100644 --- a/buyer-api/src/main/java/cn/lili/controller/distribution/DistributionOrderBuyerController.java +++ b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionOrderBuyerController.java @@ -1,4 +1,4 @@ -package cn.lili.controller.distribution; +package cn.lili.controller.other.distribution; import cn.lili.common.utils.ResultUtil; import cn.lili.common.vo.ResultMessage; @@ -9,7 +9,6 @@ import cn.lili.modules.distribution.service.DistributionService; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java index a5a24a3d..ce31ee33 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java +++ b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java @@ -33,6 +33,7 @@ public class Distribution extends BaseEntity { this.memberName = memberName; this.name = name; this.idNumber = idNumber; + distributionOrderCount=0; this.distributionStatus = DistributionStatusEnum.APPLY.name(); } @@ -57,6 +58,8 @@ public class Distribution extends BaseEntity { @ApiModelProperty(value = "冻结金额") private Double commissionFrozen = 0D; + @ApiModelProperty(value = "分销订单数") + private Integer distributionOrderCount; /** * @see DistributionStatusEnum diff --git a/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionMapper.java b/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionMapper.java index 91617051..4a43c512 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionMapper.java +++ b/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionMapper.java @@ -14,5 +14,8 @@ import org.apache.ibatis.annotations.Update; public interface DistributionMapper extends BaseMapper { @Update("UPDATE li_distribution set can_rebate = can_rebate+#{canRebate} WHERE id = #{distributionId}") - void updateCanRebate(Double canRebate,String distributionId); + void subCanRebate(Double canRebate,String distributionId); + + @Update("UPDATE li_distribution set can_rebate = (can_rebate+#{canRebate}) AND rebate_total=(rebate_total+#{canRebate}) AND distribution_order_count=(distribution_order_count+1) WHERE id = #{distributionId}") + void addCanRebate(Double canRebate,String distributionId); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionOrderService.java b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionOrderService.java index 894773a6..100bc191 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionOrderService.java +++ b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionOrderService.java @@ -28,6 +28,7 @@ public interface DistributionOrderService extends IService { * @param orderSn 订单编号 */ void payOrder(String orderSn); + void test(String orderSn); /** * 取消订单 diff --git a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java index a43c1b77..536617ae 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java +++ b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java @@ -80,6 +80,11 @@ public interface DistributionService extends IService { * @param canRebate 修改金额 * @param distributionId 分销员ID */ - void updateCanRebate(Double canRebate,String distributionId); + void subCanRebate(Double canRebate,String distributionId); + /** + * 添加分销金额 + * @param rebate + */ + void addRebate(Double rebate,String distributionId); } \ No newline at end of file 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 e60aedac..21c2ba1e 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 @@ -24,7 +24,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -69,15 +68,17 @@ public class DistributionOrderServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper() .eq(StoreFlow::getOrderSn, orderSn) .isNotNull(StoreFlow::getDistributionRebate)); + Double rebate=0.0; + //循环店铺流水记录判断是否包含分销商品 + //包含分销商品则进行记录分销订单、计算分销总额 for (StoreFlow storeFlow : storeFlowList) { + rebate=CurrencyUtil.add(rebate,storeFlow.getDistributionRebate()); DistributionOrder distributionOrder = new DistributionOrder(storeFlow); distributionOrder.setDistributionId(order.getDistributionId()); - //分销员信息 Distribution distribution = distributionService.getById(order.getDistributionId()); distributionOrder.setDistributionName(distribution.getMemberName()); @@ -86,12 +87,56 @@ public class DistributionOrderServiceImpl extends ServiceImpl storeFlowList = storeFlowService.list(new LambdaQueryWrapper() + .eq(StoreFlow::getOrderSn, orderSn) + .isNotNull(StoreFlow::getDistributionRebate)); + Double rebate=0.0; + //循环店铺流水记录判断是否包含分销商品 + //包含分销商品则进行记录分销订单、计算分销总额 + for (StoreFlow storeFlow : storeFlowList) { + rebate=CurrencyUtil.add(rebate,storeFlow.getDistributionRebate()); + DistributionOrder distributionOrder = new DistributionOrder(storeFlow); + distributionOrder.setDistributionId(order.getDistributionId()); + //分销员信息 + Distribution distribution = distributionService.getById(order.getDistributionId()); + distributionOrder.setDistributionName(distribution.getMemberName()); + + //设置结算天数(解冻日期) + Setting setting = settingService.get(SettingEnum.DISTRIBUTION_SETTING.name()); + DistributionSetting distributionSetting = JSONUtil.toBean(setting.getSettingValue(), DistributionSetting.class); + DateTime dateTime = new DateTime(); + //默认提现周期一天 + dateTime.offsetNew(DateField.DAY_OF_MONTH,1); + //dateTime.offsetNew(DateField.DAY_OF_MONTH,distributionSetting.getCashDay()); + distributionOrder.setSettleCycle(dateTime); + this.save(distributionOrder); + } + //如果包含分销商品则记录会员的分销总额 + if(rebate!=0.0){ + distributionService.addRebate(rebate,order.getDistributionId()); + } + } + } @Override @@ -126,7 +171,7 @@ public class DistributionOrderServiceImpl extends ServiceImpl