Browse Source

feat: 返利保存调整

master
Yen 3 months ago
parent
commit
368a9cb3d5
  1. 6
      cms-modules/cms-policy/cms-policy-api/pom.xml
  2. 10
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java
  3. 7
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsConfig.java
  4. 20
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebatePeriod.java
  5. 2
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsConfigParam.java
  6. 8
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java
  7. 3
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebatePeriodParam.java
  8. 13
      cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java
  9. 5
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java
  10. 23
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java

6
cms-modules/cms-policy/cms-policy-api/pom.xml

@ -30,6 +30,12 @@
<artifactId>cms-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-framework-mybatis-plus</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

10
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebate.java

@ -52,15 +52,13 @@ public class TzcRebate implements Serializable {
/** 返利开始时间 */
@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 activityStartTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate activityStartTime;
/** 返利结束时间 */
@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 activityEndTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate activityEndTime;
/** 核销模式:0-人工复核;1-自动核销 */
private Integer checkModel;

7
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsConfig.java

@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.mbp.handler.SplitStringTypeHandler;
import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
@ -22,7 +24,7 @@ import javax.validation.constraints.NotBlank;
* @since 2025-04-15
*/
@Data
@TableName("tzc_rebate_levels_config")
@TableName(value = "tzc_rebate_levels_config",autoResultMap = true)
public class TzcRebateLevelsConfig implements Serializable {
private static final long serialVersionUID = 1L;
@ -40,7 +42,8 @@ public class TzcRebateLevelsConfig implements Serializable {
private Integer levelNum;
/** 叠加配置 */
private String levelConfigs;
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] levelConfigs;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")

20
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebatePeriod.java

@ -57,23 +57,9 @@ public class TzcRebatePeriod implements Serializable {
/** 总目标达标补偿 */
private Integer compensationFlag;
/** 基于目标销量金额:0-总理;1-增量 */
private Integer sumAddFlag;
/** 选择的策略:0-基于比例;基于固定金额 */
private Integer rateAmtFlag;
/** 总量百分比 */
private BigDecimal sumRateVal;
/** 总量固定金额 */
private BigDecimal sumAmtVal;
/** 增量百分比 */
private BigDecimal addRateVal;
/** 增量固定金额 */
private BigDecimal addAmtVal;
/** 补偿说明 */
@Length(max = 255,message = "备注长度不能超过255字")
private String extRemark;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")

2
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsConfigParam.java

@ -25,7 +25,7 @@ public class TzcRebateLevelsConfigParam implements Serializable {
private Integer levelNum;
/** 坎级设置;格式如:1,3,5 */
private String levelConfigs;
private String[] levelConfigs;
/** 前端用于绑定模板id */
private String tmpUk;

8
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateParam.java

@ -31,12 +31,12 @@ public class TzcRebateParam{
private String rebateName;
/** 返利开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime activityStartTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate activityStartTime;
/** 返利结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime activityEndTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate activityEndTime;
/** 核销模式:0-人工复核;1-自动核销 */
private Integer checkModel;

3
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebatePeriodParam.java

@ -49,6 +49,9 @@ public class TzcRebatePeriodParam implements Serializable {
private Integer compensationFlag;
/** 补充说明 */
@Length(max = 255,message = "备注长度不能超过255字")
private String extRemark;
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;

13
cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java

@ -80,7 +80,6 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
rebate.setRebateStatus(TzcRebateStatus.DRAFT.getStatus());
rebate.setActivityStartTime(param.getActivityStartTime());
rebate.setActivityEndTime(param.getActivityEndTime());
rebate.setAutoDispatchFlag(param.getAutoDispatchFlag());
rebate.setCheckModel(param.getCheckModel());
rebate.setCheckMaxAmount(param.getCheckMaxAmount());
rebate.setCheckAutoDateType(param.getCheckAutoDateType());
@ -90,7 +89,6 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
rebate.setSupplierCode(supplier.getCode());
rebate.setSupplierName(supplier.getName());
rebate.setRebateAmount(param.getRebateAmount());
rebate.setOverlayFlag(param.getOverlayFlag());
rebate.setRemark(param.getRemark());
// 返利的商品
@ -210,18 +208,11 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
Assert.throwEx("["+period.getPeriodTitle()+"]与["+period2.getPeriodTitle()+"],时间段存在交集");
}
}
if(ResultFlag.isTrue(period.getCompensationFlag())){
if(period.getArgumentParam()==null){
Assert.throwEx("["+period.getPeriodTitle()+"]返利补偿不能为空");
}
}
}
// 校验坎级叠加
if(ResultFlag.isTrue(param.getOverlayFlag())){
if(CollUtil.isEmpty(param.getConfigList())){
Assert.throwEx("坎级叠加标识为1时,坎级配置不能为空");
}
if(CollUtil.isEmpty(param.getConfigList())){
Assert.throwEx("坎级叠加标识为1时,坎级配置不能为空");
}
}

5
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java

@ -276,14 +276,13 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio
List<TzcRebateLevelsArgument> argumentList,
List<TzcRebateLevelsConfig> configList){
int level = 0;
String configString = "";
String[] configArr = null;
for (TzcRebateLevelsConfig config: configList) {
if(config.getLevelNum()>level){
level = config.getLevelNum();
configString = config.getLevelConfigs();
configArr = config.getLevelConfigs();
}
}
String[] configArr = configString.split(",");
BigDecimal maxAmount = BigDecimal.ZERO;
for (TzcRebateLevels levels : levelsList) {
String lvNum = levels.getLevelNum()+"";

23
cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java

@ -207,12 +207,23 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
configList.add(config);
}
// 建立费用
Long costApplyId = tzcRebateApplication4CostService.buildCostAndActivity(rebate, argumentList, tzcRebateSubjectList, periodList, tzcRebateGoodsList, configList, rebateCenterList, levelsList);
Long costApplyId = tzcRebateApplication4CostService.buildCostAndActivity(
rebate,
argumentList,
tzcRebateSubjectList,
periodList,
tzcRebateGoodsList,
configList,
rebateCenterList,
levelsList
);
// 绑定费用id
tzcRebateService.update(
new LambdaUpdateWrapper<TzcRebate>().eq(TzcRebate::getId,rebateId)
.set(TzcRebate::getCostApplyId,costApplyId));
new LambdaUpdateWrapper<TzcRebate>()
.eq(TzcRebate::getId,rebateId)
.set(TzcRebate::getCostApplyId,costApplyId)
);
return rebate;
}
@ -287,14 +298,13 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
*/
public BigDecimal getMaxLevelsAmount(TzcRebateParam param){
int level = 0;
String configString = "";
String[] configArr = null;
for (TzcRebateLevelsConfigParam configParam : param.getConfigList()) {
if(configParam.getLevelNum()>level){
level = configParam.getLevelNum();
configString = configParam.getLevelConfigs();
configArr = configParam.getLevelConfigs();
}
}
String[] configArr = configString.split(",");
BigDecimal maxAmount = BigDecimal.ZERO;
for (TzcRebateLevelsParam levelsParam : param.getLevelsList()) {
String lvNum = levelsParam.getLevelNum()+"";
@ -394,6 +404,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
period.setSamePeriodAmount(periodParam.getSamePeriodAmount());
period.setCompensationFlag(periodParam.getCompensationFlag());
period.setRemark(periodParam.getRemark());
period.setExtRemark(periodParam.getExtRemark());
period.setTmpUk(periodParam.getTmpUk());
tzcRebatePeriodService.save(period);
periodList.add(period);

Loading…
Cancel
Save