diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java index 0edf187..62387ad 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java @@ -7,11 +7,14 @@ import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; /** * 返利信息 实体类 @@ -95,6 +98,40 @@ public class TzcRebate implements Serializable { @NotNull(message = "坎级叠加标识不能为空") private Integer overlayFlag; + /** 备注 */ + @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 TzcRebate toNewObject(TzcRebate source){ TzcRebate rebate = new TzcRebate(); @@ -116,6 +153,13 @@ public class TzcRebate implements Serializable { rebate.setSupplierName(source.getSupplierName()); rebate.setRebateAmount(source.getRebateAmount()); rebate.setOverlayFlag(source.getOverlayFlag()); + rebate.setRemark(source.getRemark()); + rebate.setCreateTime(source.getCreateTime()); + rebate.setUpdateTime(source.getUpdateTime()); + rebate.setTenantId(source.getTenantId()); + rebate.setCreateBy(source.getCreateBy()); + rebate.setUpdateBy(source.getUpdateBy()); + rebate.setDelFlag(source.getDelFlag()); return rebate; } diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateGoods.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateGoods.java new file mode 100644 index 0000000..fbfa81b --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateGoods.java @@ -0,0 +1,130 @@ +package com.qs.serve.modules.tzc.entity; + +import java.time.LocalDate; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotBlank; + +/** + * 返利商品 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +@TableName("tzc_rebate_goods") +public class TzcRebateGoods implements Serializable { + + private static final long serialVersionUID = 1L; + + /** id */ + @TableId(type = IdType.AUTO) + private Long id; + + /** 政策id */ + @NotNull(message = "政策id不能为空") + private Long rebateId; + + /** 政策编码 */ + @NotBlank(message = "政策编码不能为空") + @Length(max = 50,message = "政策编码长度不能超过50字") + private String rebateCode; + + /** 目标类型(brand、category、series、spu、sku) */ + @NotBlank(message = "目标类型(brand、category、series、spu、sku)不能为空") + @Length(max = 30,message = "目标类型(brand、category、series、spu、sku)长度不能超过30字") + private String targetType; + + /** 目标id */ + @NotNull(message = "目标id不能为空") + private Long targetId; + + /** 目标编码 */ + @NotBlank(message = "目标编码不能为空") + @Length(max = 30,message = "目标编码长度不能超过30字") + private String targetCode; + + /** 目标名称 */ + @NotBlank(message = "目标名称不能为空") + @Length(max = 255,message = "目标名称长度不能超过255字") + private String targetName; + + /** 目标等级路径 */ + @Length(max = 600,message = "目标等级路径长度不能超过600字") + private String targetLevelPathIds; + + /** 目标等级路径 */ + @Length(max = 600,message = "目标等级路径长度不能超过600字") + private String targetLevelPathNames; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + /** 前端用于绑定模板id */ + private String tmpUk; + + /** 创建时间 */ + @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 TzcRebateGoods toNewObject(TzcRebateGoods source){ + TzcRebateGoods rebateGoods = new TzcRebateGoods(); + rebateGoods.setId(source.getId()); + rebateGoods.setRebateId(source.getRebateId()); + rebateGoods.setRebateCode(source.getRebateCode()); + rebateGoods.setTargetType(source.getTargetType()); + rebateGoods.setTargetId(source.getTargetId()); + rebateGoods.setTargetCode(source.getTargetCode()); + rebateGoods.setTargetName(source.getTargetName()); + rebateGoods.setTargetLevelPathIds(source.getTargetLevelPathIds()); + rebateGoods.setTargetLevelPathNames(source.getTargetLevelPathNames()); + rebateGoods.setRemark(source.getRemark()); + rebateGoods.setCreateTime(source.getCreateTime()); + rebateGoods.setUpdateTime(source.getUpdateTime()); + rebateGoods.setTenantId(source.getTenantId()); + rebateGoods.setCreateBy(source.getCreateBy()); + rebateGoods.setUpdateBy(source.getUpdateBy()); + rebateGoods.setDelFlag(source.getDelFlag()); + return rebateGoods; + } + +} + 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 427aa5f..5e2a693 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 @@ -57,6 +57,40 @@ public class TzcRebateLevels implements Serializable { @Length(max = 600,message = "返利说明和计算例子长度不能超过600字") private String exampleRemark; + /** 备注 */ + @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 TzcRebateLevels toNewObject(TzcRebateLevels source){ TzcRebateLevels rebateLevels = new TzcRebateLevels(); @@ -68,6 +102,13 @@ public class TzcRebateLevels implements Serializable { rebateLevels.setConditionRate(source.getConditionRate()); rebateLevels.setConditionAmount(source.getConditionAmount()); rebateLevels.setExampleRemark(source.getExampleRemark()); + rebateLevels.setRemark(source.getRemark()); + rebateLevels.setCreateTime(source.getCreateTime()); + rebateLevels.setUpdateTime(source.getUpdateTime()); + rebateLevels.setTenantId(source.getTenantId()); + rebateLevels.setCreateBy(source.getCreateBy()); + rebateLevels.setUpdateBy(source.getUpdateBy()); + rebateLevels.setDelFlag(source.getDelFlag()); return rebateLevels; } diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsArgument.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsArgument.java index 6d4103b..9119084 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsArgument.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsArgument.java @@ -65,6 +65,40 @@ public class TzcRebateLevelsArgument implements Serializable { /** 增量最高返利金额 */ private BigDecimal addMaxReturn; + /** 备注 */ + @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 TzcRebateLevelsArgument toNewObject(TzcRebateLevelsArgument source){ TzcRebateLevelsArgument rebateLevelsArgument = new TzcRebateLevelsArgument(); @@ -80,6 +114,13 @@ public class TzcRebateLevelsArgument implements Serializable { rebateLevelsArgument.setAddReturnRate(source.getAddReturnRate()); rebateLevelsArgument.setAddReturnFixed(source.getAddReturnFixed()); rebateLevelsArgument.setAddMaxReturn(source.getAddMaxReturn()); + rebateLevelsArgument.setRemark(source.getRemark()); + rebateLevelsArgument.setCreateTime(source.getCreateTime()); + rebateLevelsArgument.setUpdateTime(source.getUpdateTime()); + rebateLevelsArgument.setTenantId(source.getTenantId()); + rebateLevelsArgument.setCreateBy(source.getCreateBy()); + rebateLevelsArgument.setUpdateBy(source.getUpdateBy()); + rebateLevelsArgument.setDelFlag(source.getDelFlag()); return rebateLevelsArgument; } diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsConfig.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsConfig.java index 744b7ed..b8f2740 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsConfig.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsConfig.java @@ -40,34 +40,41 @@ public class TzcRebateLevelsConfig implements Serializable { private Integer levelNum; /** 条件类型:0-同期进货金额;1-区间目标金额 */ - private Integer conditionType; - - /** 条件选择:0-百分比;1-固定金额 */ - private Integer conditionSelect; - - /** 满足条件的比例 */ - private BigDecimal conditionRate; - - /** 满足条件的金额 */ - private BigDecimal conditionAmount; - - /** 返利说明和计算例子 */ - @Length(max = 600,message = "返利说明和计算例子长度不能超过600字") - private String exampleRemark; - - - public static TzcRebateLevelsConfig toNewObject(TzcRebateLevelsConfig source){ - TzcRebateLevelsConfig rebateLevelsConfig = new TzcRebateLevelsConfig(); - rebateLevelsConfig.setId(source.getId()); - rebateLevelsConfig.setRebateId(source.getRebateId()); - rebateLevelsConfig.setLevelNum(source.getLevelNum()); - rebateLevelsConfig.setConditionType(source.getConditionType()); - rebateLevelsConfig.setConditionSelect(source.getConditionSelect()); - rebateLevelsConfig.setConditionRate(source.getConditionRate()); - rebateLevelsConfig.setConditionAmount(source.getConditionAmount()); - rebateLevelsConfig.setExampleRemark(source.getExampleRemark()); - return rebateLevelsConfig; - } + private Integer levelConfigs; + + /** 备注 */ + @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; } diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebatePeriod.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebatePeriod.java index 018b827..5d187c8 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebatePeriod.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebatePeriod.java @@ -77,6 +77,40 @@ public class TzcRebatePeriod implements Serializable { /** 增量固定金额 */ private BigDecimal addAmtVal; + /** 备注 */ + @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 TzcRebatePeriod toNewObject(TzcRebatePeriod source){ TzcRebatePeriod rebatePeriod = new TzcRebatePeriod(); @@ -94,6 +128,13 @@ public class TzcRebatePeriod implements Serializable { rebatePeriod.setSumAmtVal(source.getSumAmtVal()); rebatePeriod.setAddRateVal(source.getAddRateVal()); rebatePeriod.setAddAmtVal(source.getAddAmtVal()); + rebatePeriod.setRemark(source.getRemark()); + rebatePeriod.setCreateTime(source.getCreateTime()); + rebatePeriod.setUpdateTime(source.getUpdateTime()); + rebatePeriod.setTenantId(source.getTenantId()); + rebatePeriod.setCreateBy(source.getCreateBy()); + rebatePeriod.setUpdateBy(source.getUpdateBy()); + rebatePeriod.setDelFlag(source.getDelFlag()); return rebatePeriod; } diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateSubject.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateSubject.java index e35f554..dcf3681 100644 --- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateSubject.java +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateSubject.java @@ -91,7 +91,6 @@ public class TzcRebateSubject implements Serializable { private String delFlag; /** 前端用于绑定模板id */ - @Length(max = 255,message = "前端用于绑定模板id长度不能超过255字") private String tmpUk; diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateArgumentParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateArgumentParam.java new file mode 100644 index 0000000..0a3f37b --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateArgumentParam.java @@ -0,0 +1,50 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 返利坎级参数 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +public class TzcRebateArgumentParam implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 目标销量维度:0-总量;1-增量 */ + private Integer sumAddFlag; + + /** 选择的策略:0-百分比;固定金额 */ + private Integer rateAmtFlag; + + /** 总量返利百分比 */ + private BigDecimal sumReturnRate; + + /** 总量返利固定金额 */ + private BigDecimal sumReturnFixed; + + /** 总量最高返利金额 */ + private BigDecimal sumMaxReturn; + + /** 增量返利百分比 */ + private BigDecimal addReturnRate; + + /** 增量返利固定金额 */ + private BigDecimal addReturnFixed; + + /** 增量最高返利金额 */ + private BigDecimal addMaxReturn; + +} + diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateCenterParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateCenterParam.java new file mode 100644 index 0000000..79abfc4 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateCenterParam.java @@ -0,0 +1,52 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 活动成本中心项 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +public class TzcRebateCenterParam implements Serializable { + + /** 费用额度 */ + @NotNull(message = "费用额度不能为空") + private BigDecimal centerAmount; + + /** 费用占比 */ + @NotNull(message = "费用占比不能为空") + private BigDecimal centerRate; + + /** 成本中心类型 */ + @NotBlank(message = "成本中心类型不能为空") + @Length(max = 255,message = "成本中心类型长度不能超过255字") + private String centerType; + + /** 成本中心id */ + @NotBlank(message = "成本中心id不能为空") + @Length(max = 32,message = "成本中心id长度不能超过32字") + private String centerId; + + /** 备注 */ + @Length(max = 600,message = "备注长度不能超过600字") + private String remark; + + /** 模板唯一健 */ + @Length(max = 200,message = "模板唯一健长度不能超过200字") + private String tmpUk; + +} + diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateGoodsParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateGoodsParam.java new file mode 100644 index 0000000..d3a7064 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateGoodsParam.java @@ -0,0 +1,33 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + * @author YenHex + * @since 2025/4/16 + */ +@Data +public class TzcRebateGoodsParam { + + /** + * 产品类型:brand、category、series、spu、sku + */ + private String goodsType; + + /** + * 产品id + */ + private String goodsId; + + private String remark; + + private String tmpUk; + +} diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsConfigParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsConfigParam.java new file mode 100644 index 0000000..067302d --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsConfigParam.java @@ -0,0 +1,31 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 返利坎级 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +public class TzcRebateLevelsConfigParam implements Serializable { + + /** 抵达:坎级数字 */ + @NotNull(message = "坎级数字不能为空") + private Integer levelNum; + + /** 坎级设置;格式如:1,3,5 */ + private Integer levelConfigs; + +} + 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 new file mode 100644 index 0000000..75266e0 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsParam.java @@ -0,0 +1,60 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 返利坎级 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +@TableName("tzc_rebate_levels") +public class TzcRebateLevelsParam implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 坎级数字 */ + @NotNull(message = "坎级数字不能为空") + private Integer levelNum; + + /** 条件类型:0-同期进货金额;1-区间目标金额 */ + @NotNull(message = "条件类型:0-同期进货金额;1-区间目标金额不能为空") + private Integer conditionType; + + /** 条件选择:0-百分比;1-固定金额 */ + @NotNull(message = "条件选择:0-百分比;1-固定金额不能为空") + private Integer conditionSelect; + + /** 满足条件的比例 */ + private BigDecimal conditionRate; + + /** 满足条件的金额 */ + private BigDecimal conditionAmount; + + /** 返利-参数 */ + private TzcRebateArgumentParam targetArgument; + + /** 总目标返利-参数 */ + private TzcRebateArgumentParam allTargetArgument; + + /** 返利说明和计算例子 */ + @Length(max = 600,message = "返利说明和计算例子长度不能超过600字") + private String exampleRemark; + + /** 备注 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + +} + diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java new file mode 100644 index 0000000..6774064 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java @@ -0,0 +1,92 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.qs.serve.modules.tzc.entity.TzcRebateSubject; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +/** + * @author YenHex + * @since 2025/4/16 + */ +@Data +public class TzcRebateParam{ + + private Long id; + + /** 模板id */ + private Long templateId; + + /** 返利抬头 */ + @Length(max = 64,message = "返利抬头长度不能超过64字") + private String rebateName; + + /** 返利开始时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime activityStartTime; + + /** 返利结束时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime activityEndTime; + + /** 自动获取发货数据:0-否;1-是 */ + private Integer autoDispatchFlag; + + /** 核销模式:0-人工复核;1-自动核销 */ + private Integer checkModel; + + /** 超过多少金额自动核销变为人工核销 */ + private BigDecimal checkMaxAmount; + + /** 自动核销日期类型:0-手动设置;1-自然月;2-自然周 */ + private Integer checkAutoDateType; + + /** 核销开始时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate checkStartDate; + + /** 核销结束时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate checkEndDate; + + /** 客户id */ + private Long supplierId; + + /** 返利总金额 */ + private BigDecimal rebateAmount; + + /** 坎级叠加标识 */ + @NotNull(message = "坎级叠加标识不能为空") + private Integer overlayFlag; + + /** 备注 */ + private String remark; + + /** + * 商品列表 + */ + private List goodsList; + + /** + * 科目列表(内含成本中心列表) + */ + private List subjectList; + + /** + * 期间列表 + */ + private List periodList; + + /** + * 坎级配置列 + */ + private List configList; + +} diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebatePeriodParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebatePeriodParam.java new file mode 100644 index 0000000..905d294 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebatePeriodParam.java @@ -0,0 +1,61 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 返利适用期间 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +public class TzcRebatePeriodParam implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 适用期间标题 */ + @Length(max = 64,message = "适用期间标题长度不能超过64字") + private String periodTitle; + + /** 开始时间 */ + @Length(max = 0,message = "开始时间长度不能超过0字") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime periodStartDate; + + /** 结束时间 */ + @Length(max = 0,message = "结束时间长度不能超过0字") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime periodEndDate; + + /** 区间目标金额 */ + private BigDecimal periodAmount; + + /** 同期进货金额 */ + private BigDecimal samePeriodAmount; + + /** 总目标达标补偿 */ + private Integer compensationFlag; + + /** + * 补偿方案 + */ + private TzcRebateArgumentParam argumentParam; + + /** 补充说明 */ + @Length(max = 255,message = "备注长度不能超过255字") + private String remark; + + +} + diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateSubjectParam.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateSubjectParam.java new file mode 100644 index 0000000..9ed146a --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateSubjectParam.java @@ -0,0 +1,52 @@ +package com.qs.serve.modules.tzc.entity.bo; + +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.DecimalMin; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 活动科目项 实体类 + * @author YenHex + * @since 2025-04-15 + */ +@Data +public class TzcRebateSubjectParam implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 科目id */ + @NotNull(message = "科目id不能为空") + private Long subjectId; + + /** 科目比例 */ + @DecimalMin(value = "0", message = "科目比例不能是负数") + private BigDecimal subjectRate; + + /** 科目额度 */ + @NotNull(message = "科目额度不能为空") + @DecimalMin(value = "0", message = "科目额度不能是负数") + private BigDecimal subjectAmount; + + /** 备注 */ + private String remark; + + /** 前端用于绑定模板id */ + private String tmpUk; + + /** 成本中心列表 */ + private List centerList; + +} + diff --git a/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/controller/TzcRebateController.java b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/controller/TzcRebateController.java index fd7a51d..063e1e7 100644 --- a/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/controller/TzcRebateController.java +++ b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/controller/TzcRebateController.java @@ -33,26 +33,12 @@ public class TzcRebateController { private TzcRebateService tzcRebateService; - /** - * 列表 - * @param param - * @return - */ - //@GetMapping("/list") - //@PreAuthorize("hasRole('tzc:rebate:query')") - public R> getList(TzcRebate param){ - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); - List list = tzcRebateService.list(lqw); - return R.ok(list); - } - /** * 翻页 * @param param * @return */ - //@GetMapping("/page") - //@PreAuthorize("hasRole('tzc:rebate:query')") + @GetMapping("/page") public R> getPage(TzcRebate param){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); PageUtil.startPage(); @@ -65,44 +51,26 @@ public class TzcRebateController { * @param id * @return */ - //@GetMapping("/getById/{id}") + @GetMapping("/getById/{id}") @SysLog(module = SystemModule.Policy, title = "返利信息", biz = BizType.QUERY) - @PreAuthorize("hasRole('tzc:rebate:query')") public R getById(@PathVariable("id") String id){ TzcRebate tzcRebate = tzcRebateService.getById(id); return R.ok(tzcRebate); } - - /** * 更新 * @param param * @return */ - //@PostMapping("/updateById") + @PostMapping("/editRebate") @SysLog(module = SystemModule.Policy, title = "返利信息", biz = BizType.UPDATE) - //@PreAuthorize("hasRole('tzc:rebate:update')") - public R updateById(@RequestBody @Valid TzcRebateBo param){ + public R updateById(@RequestBody @Valid TzcRebate param){ TzcRebate entity = CopierUtil.copy(param,new TzcRebate()); boolean result = tzcRebateService.updateById(entity); return R.isTrue(result); } - /** - * 新增 - * @param param - * @return - */ - //@PostMapping("/save") - @SysLog(module = SystemModule.Policy, title = "返利信息", biz = BizType.INSERT) - //@PreAuthorize("hasRole('tzc:rebate:insert')") - public R save(@RequestBody @Valid TzcRebateBo param){ - TzcRebate entity = CopierUtil.copy(param,new TzcRebate()); - boolean result = tzcRebateService.save(entity); - return R.isTrue(result); - } - /** * 删除 * @param ids @@ -110,7 +78,6 @@ public class TzcRebateController { */ @DeleteMapping("/deleteById/{ids}") @SysLog(module = SystemModule.Policy, title = "返利信息", biz = BizType.DELETE) - //@PreAuthorize("hasRole('tzc:rebate:delete')") public R deleteById(@PathVariable("ids") String ids){ List idsLong = StringUtils.splitIdLong(ids); boolean result = tzcRebateService.removeByIds(idsLong); diff --git a/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java new file mode 100644 index 0000000..466b9f3 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/TzcRebateApplicationService.java @@ -0,0 +1,14 @@ +package com.qs.serve.modules.tzc.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.qs.serve.modules.tzc.entity.TzcRebate; + +/** + * 返利信息 服务接口 + * @author YenHex + * @date 2025-04-15 + */ +public interface TzcRebateApplicationService { + +} + diff --git a/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java new file mode 100644 index 0000000..13a5070 --- /dev/null +++ b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java @@ -0,0 +1,19 @@ +package com.qs.serve.modules.tzc.service.impl; + +import com.qs.serve.modules.tzc.service.TzcRebateApplicationService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @author YenHex + * @since 2025/4/16 + */ +@Slf4j +@Service +@AllArgsConstructor +public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationService { + + + +}