From bf27f901b4f9721767ee270c00d31f7f545442e6 Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 6 Jun 2025 14:31:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=90=AD=E8=B5=A0=E8=8D=89=E7=A8=BF?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qs/serve/common/consts/CommonValue.java | 13 ++ .../com/qs/serve/common/exception/Assert.java | 6 + .../oms/entity/OmsPromotionGiftItem.java | 35 ++++ .../oms/entity/bo/OmsPromotionGiftBo.java | 23 --- .../entity/bo/OmsPromotionGiftCenterBo.java | 7 - .../entity/bo/OmsPromotionGiftScopeBo.java | 1 - .../entity/bo/OmsPromotionGiftSubjectBo.java | 4 - .../impl/OmsPromotionGiftServiceImpl.java | 22 --- .../modules/tzc/entity/TzcRebateLevels.java | 3 + .../tzc/entity/bo/TzcRebateLevelsParam.java | 3 + cms-modules/cms-system/pom.xml | 6 + .../OmsPromotionGiftController.java | 31 +-- .../mapper/OmsPromotionGiftCenterMapper.java | 0 .../mapper/OmsPromotionGiftGoodsMapper.java | 0 .../mapper/OmsPromotionGiftItemMapper.java | 0 .../oms/mapper/OmsPromotionGiftMapper.java | 0 .../mapper/OmsPromotionGiftScopeMapper.java | 0 .../mapper/OmsPromotionGiftSubjectMapper.java | 0 .../oms/service/OmsPromotionGiftService.java | 7 +- .../impl/OmsPromotionGiftServiceImpl.java | 178 ++++++++++++++++++ .../sys/controller/SysUserController.java | 1 + .../impl/TzcRebateApplicationServiceImpl.java | 1 + .../oms}/OmsPromotionGiftCenterMapper.xml | 0 .../oms}/OmsPromotionGiftGoodsMapper.xml | 0 .../oms}/OmsPromotionGiftItemMapper.xml | 0 .../mapper/oms}/OmsPromotionGiftMapper.xml | 0 .../oms}/OmsPromotionGiftScopeMapper.xml | 0 .../oms}/OmsPromotionGiftSubjectMapper.xml | 0 28 files changed, 259 insertions(+), 82 deletions(-) create mode 100644 cms-common/src/main/java/com/qs/serve/common/consts/CommonValue.java delete mode 100644 cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java (72%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftCenterMapper.java (100%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftGoodsMapper.java (100%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftItemMapper.java (100%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftMapper.java (100%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftScopeMapper.java (100%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftSubjectMapper.java (100%) rename cms-modules/{cms-order/cms-order-biz => cms-system}/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java (65%) create mode 100644 cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java rename cms-modules/{cms-order/cms-order-biz/src/main/resources/mapper.oms => cms-system/src/main/resources/mapper/oms}/OmsPromotionGiftCenterMapper.xml (100%) rename cms-modules/{cms-order/cms-order-biz/src/main/resources/mapper.oms => cms-system/src/main/resources/mapper/oms}/OmsPromotionGiftGoodsMapper.xml (100%) rename cms-modules/{cms-order/cms-order-biz/src/main/resources/mapper.oms => cms-system/src/main/resources/mapper/oms}/OmsPromotionGiftItemMapper.xml (100%) rename cms-modules/{cms-order/cms-order-biz/src/main/resources/mapper.oms => cms-system/src/main/resources/mapper/oms}/OmsPromotionGiftMapper.xml (100%) rename cms-modules/{cms-order/cms-order-biz/src/main/resources/mapper.oms => cms-system/src/main/resources/mapper/oms}/OmsPromotionGiftScopeMapper.xml (100%) rename cms-modules/{cms-order/cms-order-biz/src/main/resources/mapper.oms => cms-system/src/main/resources/mapper/oms}/OmsPromotionGiftSubjectMapper.xml (100%) diff --git a/cms-common/src/main/java/com/qs/serve/common/consts/CommonValue.java b/cms-common/src/main/java/com/qs/serve/common/consts/CommonValue.java new file mode 100644 index 0000000..f3d23b4 --- /dev/null +++ b/cms-common/src/main/java/com/qs/serve/common/consts/CommonValue.java @@ -0,0 +1,13 @@ +package com.qs.serve.common.consts; + +import java.math.BigDecimal; + +/** + * @author YenHex + * @since 2025/6/6 + */ +public interface CommonValue { + + BigDecimal N100 = new BigDecimal("100"); + +} diff --git a/cms-common/src/main/java/com/qs/serve/common/exception/Assert.java b/cms-common/src/main/java/com/qs/serve/common/exception/Assert.java index abc80ed..0280754 100644 --- a/cms-common/src/main/java/com/qs/serve/common/exception/Assert.java +++ b/cms-common/src/main/java/com/qs/serve/common/exception/Assert.java @@ -13,6 +13,12 @@ import lombok.experimental.UtilityClass; @UtilityClass public class Assert { + public static void throwEx(boolean condition,String msg){ + if (condition){ + throw new BusinessException(msg,500); + } + } + public static void throwEx(Integer code,String msg){ throw new BusinessException(msg, code); } diff --git a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/OmsPromotionGiftItem.java b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/OmsPromotionGiftItem.java index 768ed5f..fdd1f00 100644 --- a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/OmsPromotionGiftItem.java +++ b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/OmsPromotionGiftItem.java @@ -59,6 +59,41 @@ public class OmsPromotionGiftItem implements Serializable { /** 赠品数量 */ private Integer giftQty; + private Integer goodsFlag; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 创建时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** 最后更新时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + + /** 所属租户 */ + @JsonIgnore + @JsonProperty + private String tenantId; + + /** 创建人 */ + @TableField(fill = FieldFill.INSERT) + private String createBy; + + /** 更新人 */ + @TableField(fill = FieldFill.UPDATE) + private String updateBy; + + /** 逻辑删除标记(0:显示;1:隐藏) */ + @JsonIgnore + @JsonProperty + private String delFlag; public static OmsPromotionGiftItem toNewObject(OmsPromotionGiftItem source){ OmsPromotionGiftItem promotionGiftItem = new OmsPromotionGiftItem(); diff --git a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftBo.java b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftBo.java index 5dfe7c2..b475056 100644 --- a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftBo.java +++ b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftBo.java @@ -13,7 +13,6 @@ import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.List; /** @@ -36,10 +35,6 @@ public class OmsPromotionGiftBo { @NotBlank(message = "通案编码不能为空") @Length(max = 64,message = "通案编码长度不能超过64字") private String giftCode; -// -// /** 通案状态:状态:0-暂存;1-审批中;2-完成;3-驳回;4-中止;5-作废 */ -// @NotNull(message = "通案状态:状态:0-暂存;1-审批中;2-完成;3-驳回;4-中止;5-作废不能为空") -// private Integer giftStatus; /** 生效开始时间 */ @NotNull(message = "生效开始时间不能为空") @@ -60,24 +55,6 @@ public class OmsPromotionGiftBo { /** 搭赠说明 */ @Length(max = 655,message = "搭赠说明长度不能超过655字") private String explainText; -// -// /** 申请时间 */ -// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime submitTime; -// -// /** 致远表单ID */ -// @Length(max = 32,message = "致远表单ID长度不能超过32字") -// private String syFormId; -// -// /** 致远流程id */ -// @Length(max = 32,message = "致远流程id长度不能超过32字") -// private String syFlowId; -// -// /** 审批通过时间 */ -// @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") -// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") -// private LocalDateTime passingTime; /** 附件ID */ @Length(max = 1024,message = "附件ID长度不能超过1024字") diff --git a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftCenterBo.java b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftCenterBo.java index 0556b1e..0e05669 100644 --- a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftCenterBo.java +++ b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftCenterBo.java @@ -24,13 +24,6 @@ public class OmsPromotionGiftCenterBo implements Serializable { private static final long serialVersionUID = 1L; - /** id */ - private Long id; - - /** 科目id */ - @NotNull(message = "科目id不能为空") - private Long subjectId; - /** 费用占比 */ @NotNull(message = "费用占比不能为空") private BigDecimal centerRate; diff --git a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftScopeBo.java b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftScopeBo.java index 48147c7..b1a297c 100644 --- a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftScopeBo.java +++ b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftScopeBo.java @@ -23,7 +23,6 @@ public class OmsPromotionGiftScopeBo implements Serializable { private static final long serialVersionUID = 1L; - private Long id; private String regionType; diff --git a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftSubjectBo.java b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftSubjectBo.java index 5d7f914..d817b3b 100644 --- a/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftSubjectBo.java +++ b/cms-modules/cms-order/cms-order-api/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsPromotionGiftSubjectBo.java @@ -25,10 +25,6 @@ public class OmsPromotionGiftSubjectBo implements Serializable { private static final long serialVersionUID = 1L; - /** id */ - @TableId(type = IdType.AUTO) - private Long id; - /** 科目id */ @NotNull(message = "科目id不能为空") private Long subjectId; diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java b/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java deleted file mode 100644 index 53cb195..0000000 --- a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.qs.serve.modules.oms.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import com.qs.serve.modules.oms.entity.OmsPromotionGift; -import com.qs.serve.modules.oms.service.OmsPromotionGiftService; -import com.qs.serve.modules.oms.mapper.OmsPromotionGiftMapper; - -/** - * 搭赠方案 服务实现类 - * @author YenHex - * @since 2025-06-05 - */ -@Slf4j -@Service -@AllArgsConstructor -public class OmsPromotionGiftServiceImpl extends ServiceImpl implements OmsPromotionGiftService { - -} - diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevels.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevels.java index 8a41c0a..001155a 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevels.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevels.java @@ -59,6 +59,9 @@ public class TzcRebateLevels implements Serializable { /** 满足条件的金额 */ private BigDecimal conditionAmount; + /** 满足条件的金额 */ + private BigDecimal conditionAmountEnd; + /** 返利说明和计算例子 */ @Length(max = 600,message = "返利说明和计算例子长度不能超过600字") private String exampleRemark; diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsParam.java index 0a6a44f..f99c3bd 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsParam.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsParam.java @@ -48,6 +48,9 @@ public class TzcRebateLevelsParam implements Serializable { /** 满足条件的金额 */ private BigDecimal conditionAmount; + /** 满足条件的金额-结束 */ + private BigDecimal conditionAmountEnd; + /** 返利-参数 */ private TzcRebateArgumentParam targetArgument; diff --git a/cms-modules/cms-system/pom.xml b/cms-modules/cms-system/pom.xml index c3da6b1..fcca469 100644 --- a/cms-modules/cms-system/pom.xml +++ b/cms-modules/cms-system/pom.xml @@ -24,6 +24,12 @@ 1.0-SNAPSHOT + + com.qs + cms-order-api + 1.0-SNAPSHOT + + com.qs cms-framework-feign diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java similarity index 72% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java index 1175a81..1f1081f 100644 --- a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/controller/OmsPromotionGiftController.java @@ -4,18 +4,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.annotation.SysLog; import com.qs.serve.common.enums.BizType; import com.qs.serve.common.enums.SystemModule; -import com.qs.serve.common.utils.CopierUtil; import com.qs.serve.common.utils.PageUtil; import com.qs.serve.common.utils.StringUtils; import com.qs.serve.framework.base.model.PageVo; import com.qs.serve.framework.base.model.R; +import com.qs.serve.modules.oms.entity.OmsPromotionGift; +import com.qs.serve.modules.oms.entity.bo.OmsPromotionGiftBo; +import com.qs.serve.modules.oms.service.OmsPromotionGiftService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; -import com.qs.serve.modules.oms.entity.OmsPromotionGift; -import com.qs.serve.modules.oms.service.OmsPromotionGiftService; - import javax.validation.Valid; import java.util.List; @@ -38,7 +37,6 @@ public class OmsPromotionGiftController { * @return */ @GetMapping("/page") - //@PreAuthorize("hasRole('oms:promotionGift:query')") public R> getPage(OmsPromotionGift param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); PageUtil.startPage(); @@ -51,9 +49,8 @@ public class OmsPromotionGiftController { * @param id * @return */ - //@GetMapping("/getById/{id}") + @GetMapping("/getById/{id}") @SysLog(module = SystemModule.BASE, title = "搭赠方案", biz = BizType.QUERY) - //@PreAuthorize("hasRole('oms:promotionGift:query')") public R getById(@PathVariable("id") String id){ OmsPromotionGift omsPromotionGift = omsPromotionGiftService.getById(id); return R.ok(omsPromotionGift); @@ -66,27 +63,13 @@ public class OmsPromotionGiftController { * @param param * @return */ - //@PostMapping("/updateById") + @PostMapping("/modify") @SysLog(module = SystemModule.BASE, title = "搭赠方案", biz = BizType.UPDATE) public R updateById(@RequestBody @Valid OmsPromotionGiftBo param){ - OmsPromotionGift entity = CopierUtil.copy(param,new OmsPromotionGift()); - boolean result = omsPromotionGiftService.updateById(entity); - return R.isTrue(result); + omsPromotionGiftService.modifyGift(param); + return R.ok(); } - /** - * 新增 - * @param param - * @return - */ - //@PostMapping("/save") - @SysLog(module = SystemModule.BASE, title = "搭赠方案", biz = BizType.INSERT) - //@PreAuthorize("hasRole('oms:promotionGift:insert')") - public R save(@RequestBody @Valid OmsPromotionGiftBo param){ - OmsPromotionGift entity = CopierUtil.copy(param,new OmsPromotionGift()); - boolean result = omsPromotionGiftService.save(entity); - return R.isTrue(result); - } /** * 删除 diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftCenterMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftCenterMapper.java similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftCenterMapper.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftCenterMapper.java diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftGoodsMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftGoodsMapper.java similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftGoodsMapper.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftGoodsMapper.java diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftItemMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftItemMapper.java similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftItemMapper.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftItemMapper.java diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftMapper.java similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftMapper.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftMapper.java diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftScopeMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftScopeMapper.java similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftScopeMapper.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftScopeMapper.java diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftSubjectMapper.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftSubjectMapper.java similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftSubjectMapper.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/mapper/OmsPromotionGiftSubjectMapper.java diff --git a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java similarity index 65% rename from cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java rename to cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java index 61ba6c3..2391c64 100644 --- a/cms-modules/cms-order/cms-order-biz/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/OmsPromotionGiftService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.oms.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.oms.entity.OmsPromotionGift; +import com.qs.serve.modules.oms.entity.bo.OmsPromotionGiftBo; /** * 搭赠方案 服务接口 @@ -10,7 +11,11 @@ import com.qs.serve.modules.oms.entity.OmsPromotionGift; */ public interface OmsPromotionGiftService extends IService { - void modifyGift(OmsPromotionGift source); + /** + * 修改搭赠方案 + * @param param + */ + void modifyGift(OmsPromotionGiftBo param); } diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java new file mode 100644 index 0000000..d0301e3 --- /dev/null +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/oms/service/impl/OmsPromotionGiftServiceImpl.java @@ -0,0 +1,178 @@ +package com.qs.serve.modules.oms.service.impl; +import java.time.LocalDateTime; + +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.consts.CommonValue; +import com.qs.serve.common.exception.Assert; +import com.qs.serve.common.utils.CopierUtil; +import com.qs.serve.modules.bms.entity.BmsSubject; +import com.qs.serve.modules.bms.mapper.BmsSubjectMapper; +import com.qs.serve.modules.goods.entity.dto.GoodsTargetInfo; +import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; +import com.qs.serve.modules.goods.service.GoodsApplicationService; +import com.qs.serve.modules.oms.entity.*; +import com.qs.serve.modules.oms.entity.bo.*; +import com.qs.serve.modules.oms.mapper.*; +import com.qs.serve.modules.oms.service.OmsPromotionGiftService; +import com.qs.serve.modules.tbs.service.TbsCenterDtoService; +import com.qs.serve.modules.tzc.entity.bo.TzcRebateGoodsParam; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.math.BigDecimal; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 搭赠方案 服务实现类 + * @author YenHex + * @since 2025-06-05 + */ +@Slf4j +@Service +@AllArgsConstructor +public class OmsPromotionGiftServiceImpl extends ServiceImpl implements OmsPromotionGiftService { + + private BmsSubjectMapper bmsSubjectMapper; + private final TbsCenterDtoService tbsCenterDtoService; + private final GoodsApplicationService goodsApplicationService; + + private OmsPromotionGiftCenterMapper omsPromotionGiftCenterMapper; + private OmsPromotionGiftSubjectMapper omsPromotionGiftSubjectMapper; + private OmsPromotionGiftScopeMapper omsPromotionGiftScopeMapper; + private OmsPromotionGiftItemMapper omsPromotionGiftItemMapper; + private OmsPromotionGiftGoodsMapper omsPromotionGiftGoodsMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public void modifyGift(OmsPromotionGiftBo giftBo) { + boolean isUpdate = false; + if (giftBo.getId() != null){ + isUpdate = true; + OmsPromotionGift entity = this.getById(giftBo.getId()); + Assert.throwEx(entity == null, "数据不存在"); + Assert.throwEx(entity.getGiftStatus() != 0,"搭赠案的状态已更新,请刷新后再试!"); + } + List subjectBoList = giftBo.getSubjectList(); + List scopeBoList = giftBo.getScopeList(); + List itemBoList = giftBo.getItemList(); + if (CollUtil.isNotEmpty(subjectBoList)){ + BigDecimal totalRate = BigDecimal.ZERO; + for (OmsPromotionGiftSubjectBo subjectBo : subjectBoList) { + totalRate = totalRate.add(subjectBo.getSubjectRate()); + BigDecimal totalCenterRate = BigDecimal.ZERO; + for (OmsPromotionGiftCenterBo centerBo : subjectBo.getCenterList()) { + totalCenterRate = totalCenterRate.add(centerBo.getCenterRate()); + } + Assert.throwEx(totalCenterRate.compareTo(CommonValue.N100) != 0,"成本中心占比总和必须为100 %"); + } + Assert.throwEx(totalRate.compareTo(CommonValue.N100) != 0,"科目占比总和必须为100 %"); + } + + OmsPromotionGift gift = CopierUtil.copy(giftBo,new OmsPromotionGift()); + gift.setId(giftBo.getId()); + gift.setGiftStatus(null); + gift.setSubmitTime(null); + gift.setSyFormId(null); + gift.setSyFlowId(null); + gift.setPassingTime(null); + super.saveOrUpdate(gift); + + Long giftId = gift.getId(); + + // 删除历史记录 + if (isUpdate){ + QueryWrapper delQw = new QueryWrapper(); + delQw.eq("gift_id",giftId); + omsPromotionGiftCenterMapper.delete(delQw); + omsPromotionGiftSubjectMapper.delete(delQw); + omsPromotionGiftScopeMapper.delete(delQw); + omsPromotionGiftItemMapper.delete(delQw); + omsPromotionGiftGoodsMapper.delete(delQw); + } + + for (OmsPromotionGiftScopeBo scopeBo : scopeBoList) { + OmsPromotionGiftScope scope = new OmsPromotionGiftScope(); + scope.setGiftId(giftId); + scope.setRegionType(scopeBo.getRegionType()); + scope.setRegionId(scopeBo.getRegionId()); + TbsCenterDto centerDto = tbsCenterDtoService.getCenterDto(scopeBo.getRegionType(),scopeBo.getRegionId()); + scope.setRegionCode(centerDto.getCenterCode()); + scope.setRegionName(centerDto.getCenterName()); + scope.setRemark(scopeBo.getRemark()); + omsPromotionGiftScopeMapper.insert(scope); + } + + saveItemAndGoods(itemBoList, giftId); + + this.saveGifSubjectAndCenter(subjectBoList, giftId); + + } + + /** + * 保存规则和商品 + * @param itemBoList + * @param giftId + */ + private void saveItemAndGoods(List itemBoList, Long giftId) { + for (OmsPromotionGiftItemBo itemBo : itemBoList) { + OmsPromotionGiftItem giftItem = CopierUtil.copy(itemBo,new OmsPromotionGiftItem()); + giftItem.setGiftId(giftId); + if (CollUtil.isNotEmpty(itemBo.getGoodsList())){ + giftItem.setGoodsFlag(1); + } + GoodsTargetInfo goodsTarget = goodsApplicationService.getGoodsTargetInfo(giftItem.getGoodsType(),giftItem.getGoodsId()); + giftItem.setGoodsCode(goodsTarget.getTargetCode()); + giftItem.setGoodsName(goodsTarget.getTargetName()); + omsPromotionGiftItemMapper.insert(giftItem); + if (CollUtil.isNotEmpty(itemBo.getGoodsList())){ + for (OmsPromotionGiftGoodsBo goodsBo : itemBo.getGoodsList()) { + OmsPromotionGiftGoods giftGoods = CopierUtil.copy(goodsBo,new OmsPromotionGiftGoods()); + giftGoods.setGiftId(giftId); + giftGoods.setGiftItemId(giftItem.getId()); + giftGoods.setGoodsType(goodsBo.getGoodsType()); + GoodsTargetInfo goodsTarget2 = goodsApplicationService.getGoodsTargetInfo(giftGoods.getGoodsType(),giftGoods.getGoodsId()); + giftGoods.setGoodsCode(goodsTarget2.getTargetCode()); + giftGoods.setGoodsName(goodsTarget2.getTargetName()); + omsPromotionGiftGoodsMapper.insert(giftGoods); + } + } + } + } + + /** + * + * @param subjectBoList + * @param giftId + */ + private void saveGifSubjectAndCenter(List subjectBoList, Long giftId) { + for (OmsPromotionGiftSubjectBo subjectBo : subjectBoList) { + OmsPromotionGiftSubject giftSubject = CopierUtil.copy(subjectBo,new OmsPromotionGiftSubject()); + giftSubject.setGiftId(giftId); + BmsSubject subject1 = bmsSubjectMapper.selectById(giftSubject.getSubjectId()); + giftSubject.setSubjectCode(subject1.getSubjectCode()); + giftSubject.setSubjectName(subject1.getSubjectName()); + omsPromotionGiftSubjectMapper.insert(giftSubject); + + for (OmsPromotionGiftCenterBo centerBo : subjectBo.getCenterList()) { + OmsPromotionGiftCenter center = new OmsPromotionGiftCenter(); + center.setGiftId(giftId); + center.setGiftSubjectId(giftSubject.getId()); + center.setSubjectId(giftSubject.getSubjectId()); + center.setCenterRate(centerBo.getCenterRate()); + center.setCenterId(centerBo.getCenterId()); + TbsCenterDto centerDto = tbsCenterDtoService.getCenterDto(centerBo.getCenterType(),centerBo.getCenterId()); + center.setCenterType(centerBo.getCenterType()); + center.setCenterCode(centerDto.getCenterCode()); + center.setCenterName(centerDto.getCenterName()); + omsPromotionGiftCenterMapper.insert(center); + } + } + } + +} + diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java index 0d8f0a0..9bca775 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/controller/SysUserController.java @@ -638,6 +638,7 @@ public class SysUserController { * 设置数据的继承人 * @param param */ + @SysLog(title = "人员",desc = "设置数据的继承人",biz = BizType.LEAVE) @PostMapping("/extendTranData") @Transactional(rollbackFor = Exception.class) public R updateCostExtUserByCostIds(@RequestBody SysFlowLeaveBo param){ diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java index f7e4221..8e91363 100644 --- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java +++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java @@ -404,6 +404,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ levels.setConditionRate(levelsParam.getConditionRate()); levels.setConditionRateEnd(levelsParam.getConditionRateEnd()); levels.setConditionAmount(levelsParam.getConditionAmount()); + levels.setConditionAmountEnd(levelsParam.getConditionAmountEnd()); levels.setExampleRemark(levelsParam.getExampleRemark()); levels.setRemark(levelsParam.getRemark()); levels.setTmpUk(levelsParam.getTmpUk()); diff --git a/cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftCenterMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftCenterMapper.xml similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftCenterMapper.xml rename to cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftCenterMapper.xml diff --git a/cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftGoodsMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftGoodsMapper.xml similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftGoodsMapper.xml rename to cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftGoodsMapper.xml diff --git a/cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftItemMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftItemMapper.xml similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftItemMapper.xml rename to cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftItemMapper.xml diff --git a/cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftMapper.xml similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftMapper.xml rename to cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftMapper.xml diff --git a/cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftScopeMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftScopeMapper.xml similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftScopeMapper.xml rename to cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftScopeMapper.xml diff --git a/cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftSubjectMapper.xml b/cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftSubjectMapper.xml similarity index 100% rename from cms-modules/cms-order/cms-order-biz/src/main/resources/mapper.oms/OmsPromotionGiftSubjectMapper.xml rename to cms-modules/cms-system/src/main/resources/mapper/oms/OmsPromotionGiftSubjectMapper.xml