Browse Source

feat: 返利模板调整

master
Yen 3 months ago
parent
commit
d89a18d92c
  1. 3
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevels.java
  2. 60
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsArgument.java
  3. 57
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateArgumentParam.java
  4. 3
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/bo/TzcRebateLevelsParam.java
  5. 4
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplication4CostServiceImpl.java
  6. 14
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcRebateApplicationServiceImpl.java

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

@ -35,6 +35,9 @@ public class TzcRebateLevels implements Serializable {
@NotNull(message = "返利id不能为空") @NotNull(message = "返利id不能为空")
private Long rebateId; private Long rebateId;
/** 是否含同期数据 */
private Integer samePeriodFlag;
/** 坎级数字 */ /** 坎级数字 */
@NotNull(message = "坎级数字不能为空") @NotNull(message = "坎级数字不能为空")
private Integer levelNum; private Integer levelNum;

60
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/entity/TzcRebateLevelsArgument.java

@ -48,23 +48,14 @@ public class TzcRebateLevelsArgument implements Serializable {
/** 选择的策略:0-百分比;固定金额 */ /** 选择的策略:0-百分比;固定金额 */
private Integer rateAmtFlag; private Integer rateAmtFlag;
/** 总量返利百分比 */ /** 返利百分比 */
private BigDecimal sumReturnRate; private BigDecimal returnRate;
/** 总量返利固定金额 */ /** 返利固定金额 */
private BigDecimal sumReturnFixed; private BigDecimal returnFixed;
/** 总量最高返利金额 */ /** 最高返利金额 */
private BigDecimal sumMaxReturn; private BigDecimal maxReturn;
/** 增量返利百分比 */
private BigDecimal addReturnRate;
/** 增量返利固定金额 */
private BigDecimal addReturnFixed;
/** 增量最高返利金额 */
private BigDecimal addMaxReturn;
/** 备注 */ /** 备注 */
@Length(max = 255,message = "备注长度不能超过255字") @Length(max = 255,message = "备注长度不能超过255字")
@ -100,44 +91,5 @@ public class TzcRebateLevelsArgument implements Serializable {
@JsonProperty @JsonProperty
private String delFlag; private String delFlag;
public void check(String businessType) {
if (this.sumAddFlag == null) {
Assert.throwEx(businessType+":目标销量维度不能为空");
}
if (this.rateAmtFlag == null) {
Assert.throwEx(businessType+":选择的策略不能为空");
}
if (this.sumAddFlag == 0) {
if (this.rateAmtFlag == 0 && this.sumReturnRate == null){
Assert.throwEx(businessType+":总量返利百分比不能为空");
}
if (this.rateAmtFlag == 1 && this.sumReturnFixed == null){
Assert.throwEx(businessType+":总量返利固定金额不能为空");
}
if(sumMaxReturn==null){
Assert.throwEx(businessType+":总量最高返利金额不能为空");
}
}else if (this.sumAddFlag == 1) {
if (this.rateAmtFlag == 0 && this.addReturnRate == null){
Assert.throwEx(businessType+":增量返利百分比不能为空");
}
if (this.rateAmtFlag == 1 && this.addReturnFixed == null){
Assert.throwEx(businessType+":增量返利固定金额不能为空");
}
if(addMaxReturn==null){
Assert.throwEx(businessType+":增量最高返利金额不能为空");
}
}
}
public BigDecimal getMaxReturnAmt(){
if (this.sumAddFlag == 0) {
return this.sumMaxReturn;
}else if (this.sumAddFlag == 1) {
return this.addMaxReturn;
}else {
return null;
}
}
} }

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

@ -29,23 +29,14 @@ public class TzcRebateArgumentParam implements Serializable {
/** 选择的策略:0-百分比;固定金额 */ /** 选择的策略:0-百分比;固定金额 */
private Integer rateAmtFlag; private Integer rateAmtFlag;
/** 总量返利百分比 */ /** 返利百分比 */
private BigDecimal sumReturnRate; private BigDecimal returnRate;
/** 总量返利固定金额 */ /** 返利固定金额 */
private BigDecimal sumReturnFixed; private BigDecimal returnFixed;
/** 总量最高返利金额 */ /** 最高返利金额 */
private BigDecimal sumMaxReturn; private BigDecimal maxReturn;
/** 增量返利百分比 */
private BigDecimal addReturnRate;
/** 增量返利固定金额 */
private BigDecimal addReturnFixed;
/** 增量最高返利金额 */
private BigDecimal addMaxReturn;
public void check(String businessType) { public void check(String businessType) {
if (this.sumAddFlag == null) { if (this.sumAddFlag == null) {
@ -54,36 +45,14 @@ public class TzcRebateArgumentParam implements Serializable {
if (this.rateAmtFlag == null) { if (this.rateAmtFlag == null) {
Assert.throwEx(businessType+":选择的策略不能为空"); Assert.throwEx(businessType+":选择的策略不能为空");
} }
if (this.sumAddFlag == 0) { if (this.rateAmtFlag == 0 && this.returnRate == null){
if (this.rateAmtFlag == 0 && this.sumReturnRate == null){ Assert.throwEx(businessType+":返利百分比不能为空");
Assert.throwEx(businessType+":总量返利百分比不能为空");
}
if (this.rateAmtFlag == 1 && this.sumReturnFixed == null){
Assert.throwEx(businessType+":总量返利固定金额不能为空");
}
if(sumMaxReturn==null){
Assert.throwEx(businessType+":总量最高返利金额不能为空");
}
}else if (this.sumAddFlag == 1) {
if (this.rateAmtFlag == 0 && this.addReturnRate == null){
Assert.throwEx(businessType+":增量返利百分比不能为空");
}
if (this.rateAmtFlag == 1 && this.addReturnFixed == null){
Assert.throwEx(businessType+":增量返利固定金额不能为空");
}
if(addMaxReturn==null){
Assert.throwEx(businessType+":增量最高返利金额不能为空");
}
} }
} if (this.rateAmtFlag == 1 && this.returnFixed == null){
Assert.throwEx(businessType+":返利固定金额不能为空");
public BigDecimal getMaxReturnAmt(){ }
if (this.sumAddFlag == 0) { if(this.maxReturn==null){
return this.sumMaxReturn; Assert.throwEx(businessType+":总量最高返利金额不能为空");
}else if (this.sumAddFlag == 1) {
return this.addMaxReturn;
}else {
return null;
} }
} }

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

@ -28,6 +28,9 @@ public class TzcRebateLevelsParam implements Serializable {
@NotNull(message = "坎级数字不能为空") @NotNull(message = "坎级数字不能为空")
private Integer levelNum; private Integer levelNum;
/** 是否含同期数据 */
private Integer samePeriodFlag;
/** 条件类型:0-同期进货金额;1-区间目标金额 */ /** 条件类型:0-同期进货金额;1-区间目标金额 */
@NotNull(message = "条件类型:0-同期进货金额;1-区间目标金额不能为空") @NotNull(message = "条件类型:0-同期进货金额;1-区间目标金额不能为空")
private Integer conditionType; private Integer conditionType;

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

@ -293,9 +293,9 @@ public class TzcRebateApplication4CostServiceImpl implements TzcRebateApplicatio
for (TzcRebateLevelsArgument argument : argumentList) { for (TzcRebateLevelsArgument argument : argumentList) {
if(argument.getLevelId().equals(levels.getId())){ if(argument.getLevelId().equals(levels.getId())){
if (argument.getBusinessType().equals(TzcArgTypes.LevelReturn.name())){ if (argument.getBusinessType().equals(TzcArgTypes.LevelReturn.name())){
amt1 = argument.getMaxReturnAmt(); amt1 = argument.getMaxReturn();
}else if (argument.getBusinessType().equals(TzcArgTypes.LevelOverallReturn.name())){ }else if (argument.getBusinessType().equals(TzcArgTypes.LevelOverallReturn.name())){
amt2 = argument.getMaxReturnAmt(); amt2 = argument.getMaxReturn();
} }
} }
} }

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

@ -310,8 +310,8 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
String lvNum = levelsParam.getLevelNum()+""; String lvNum = levelsParam.getLevelNum()+"";
for (String levelNum : configArr) { for (String levelNum : configArr) {
if(lvNum.equals(levelNum)){ if(lvNum.equals(levelNum)){
BigDecimal amt1 = levelsParam.getTargetArgument().getMaxReturnAmt(); BigDecimal amt1 = levelsParam.getTargetArgument().getMaxReturn();
BigDecimal amt2 = levelsParam.getOverallTargetArgument().getMaxReturnAmt(); BigDecimal amt2 = levelsParam.getOverallTargetArgument().getMaxReturn();
if(amt1.compareTo(amt2)>0){ if(amt1.compareTo(amt2)>0){
maxAmount = amt1; maxAmount = amt1;
}else { }else {
@ -335,6 +335,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
levels.setRebateId(rebateId); levels.setRebateId(rebateId);
levels.setLevelNum(levelsParam.getLevelNum()); levels.setLevelNum(levelsParam.getLevelNum());
levels.setConditionType(levelsParam.getConditionType()); levels.setConditionType(levelsParam.getConditionType());
levels.setSamePeriodFlag(levelsParam.getSamePeriodFlag());
levels.setConditionSelect(levelsParam.getConditionSelect()); levels.setConditionSelect(levelsParam.getConditionSelect());
levels.setConditionRate(levelsParam.getConditionRate()); levels.setConditionRate(levelsParam.getConditionRate());
levels.setConditionAmount(levelsParam.getConditionAmount()); levels.setConditionAmount(levelsParam.getConditionAmount());
@ -417,12 +418,9 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
TzcRebateLevelsArgument argument = new TzcRebateLevelsArgument(); TzcRebateLevelsArgument argument = new TzcRebateLevelsArgument();
argument.setSumAddFlag(argumentParam.getSumAddFlag()); argument.setSumAddFlag(argumentParam.getSumAddFlag());
argument.setRateAmtFlag(argumentParam.getRateAmtFlag()); argument.setRateAmtFlag(argumentParam.getRateAmtFlag());
argument.setSumReturnRate(argumentParam.getSumReturnRate()); argument.setReturnRate(argumentParam.getReturnRate());
argument.setSumReturnFixed(argumentParam.getSumReturnFixed()); argument.setReturnFixed(argumentParam.getReturnFixed());
argument.setSumMaxReturn(argumentParam.getSumMaxReturn()); argument.setMaxReturn(argumentParam.getMaxReturn());
argument.setAddReturnRate(argumentParam.getAddReturnRate());
argument.setAddReturnFixed(argumentParam.getAddReturnFixed());
argument.setAddMaxReturn(argumentParam.getAddMaxReturn());
return argument; return argument;
} }

Loading…
Cancel
Save