diff --git a/framework/src/main/java/cn/lili/common/enums/ResultCode.java b/framework/src/main/java/cn/lili/common/enums/ResultCode.java index bd499283..0cab3e56 100644 --- a/framework/src/main/java/cn/lili/common/enums/ResultCode.java +++ b/framework/src/main/java/cn/lili/common/enums/ResultCode.java @@ -330,6 +330,7 @@ public enum ResultCode { STORE_APPLY_DOUBLE_ERROR(50003, "已有店铺,无需重复申请!"), STORE_NOT_OPEN(50004, "该会员未开通店铺"), STORE_NOT_LOGIN_ERROR(50005, "未登录店铺"), + STORE_CLOSE_ERROR(50006, "店铺关闭,请联系管理员"), /** * 结算单 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/member/serviceimpl/MemberServiceImpl.java b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java index 0f88afc6..273549ec 100644 --- a/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/member/serviceimpl/MemberServiceImpl.java @@ -145,7 +145,7 @@ public class MemberServiceImpl extends ServiceImpl impleme if (member.getHaveStore()) { Store store = storeService.getById(member.getStoreId()); if (!store.getStoreDisable().equals(StoreStatusEnum.OPEN.name())) { - throw new ServiceException(ResultCode.USER_NOT_EXIST); + throw new ServiceException(ResultCode.STORE_CLOSE_ERROR); } } else { throw new ServiceException(ResultCode.USER_NOT_EXIST); 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 diff --git a/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java b/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java index cd88b664..f88fea98 100644 --- a/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/goods/CategoryManagerController.java @@ -61,14 +61,6 @@ public class CategoryManagerController { @PostMapping @ApiOperation(value = "添加商品分类") public ResultMessage saveCategory(@Valid Category category) { - - //不能添加重复的分类名称 - Category category1 = new Category(); - category1.setName(category.getName()); - List list = categoryService.findByAllBySortOrder(category1); - if (StringUtils.isNotEmpty(list)) { - throw new ServiceException(ResultCode.CATEGORY_NOT_EXIST); - } //非顶级分类 if (category.getParentId() != null && !category.getParentId().equals("0")) { Category parent = categoryService.getById(category.getParentId()); @@ -90,15 +82,7 @@ public class CategoryManagerController { public ResultMessage updateCategory(@Valid CategoryVO category) { Category catTemp = categoryService.getById(category.getId()); if (catTemp == null) { - throw new ServiceException(ResultCode.CATEGORY_PARENT_NOT_EXIST); - } - //不能添加重复的分类名称 - Category category1 = new Category(); - category1.setName(category.getName()); - category1.setId(category.getId()); - List list = categoryService.findByAllBySortOrder(category1); - if (StringUtils.isNotEmpty(list)) { - throw new ServiceException(ResultCode.CATEGORY_NAME_IS_EXIST); + throw new ServiceException(ResultCode.CATEGORY_NOT_EXIST); } categoryService.updateCategory(category);