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不能为空")
private Long rebateId;
/** 是否含同期数据 */
private Integer samePeriodFlag;
/** 坎级数字 */
@NotNull(message = "坎级数字不能为空")
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-百分比;固定金额 */
private Integer rateAmtFlag;
/** 总量返利百分比 */
private BigDecimal sumReturnRate;
/** 返利百分比 */
private BigDecimal returnRate;
/** 总量返利固定金额 */
private BigDecimal sumReturnFixed;
/** 返利固定金额 */
private BigDecimal returnFixed;
/** 总量最高返利金额 */
private BigDecimal sumMaxReturn;
/** 增量返利百分比 */
private BigDecimal addReturnRate;
/** 增量返利固定金额 */
private BigDecimal addReturnFixed;
/** 增量最高返利金额 */
private BigDecimal addMaxReturn;
/** 最高返利金额 */
private BigDecimal maxReturn;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
@ -100,44 +91,5 @@ public class TzcRebateLevelsArgument implements Serializable {
@JsonProperty
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-百分比;固定金额 */
private Integer rateAmtFlag;
/** 总量返利百分比 */
private BigDecimal sumReturnRate;
/** 返利百分比 */
private BigDecimal returnRate;
/** 总量返利固定金额 */
private BigDecimal sumReturnFixed;
/** 返利固定金额 */
private BigDecimal returnFixed;
/** 总量最高返利金额 */
private BigDecimal sumMaxReturn;
/** 增量返利百分比 */
private BigDecimal addReturnRate;
/** 增量返利固定金额 */
private BigDecimal addReturnFixed;
/** 增量最高返利金额 */
private BigDecimal addMaxReturn;
/** 最高返利金额 */
private BigDecimal maxReturn;
public void check(String businessType) {
if (this.sumAddFlag == null) {
@ -54,36 +45,14 @@ public class TzcRebateArgumentParam implements Serializable {
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+":增量最高返利金额不能为空");
}
if (this.rateAmtFlag == 0 && this.returnRate == 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;
if (this.rateAmtFlag == 1 && this.returnFixed == null){
Assert.throwEx(businessType+":返利固定金额不能为空");
}
if(this.maxReturn==null){
Assert.throwEx(businessType+":总量最高返利金额不能为空");
}
}

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 = "坎级数字不能为空")
private Integer levelNum;
/** 是否含同期数据 */
private Integer samePeriodFlag;
/** 条件类型:0-同期进货金额;1-区间目标金额 */
@NotNull(message = "条件类型:0-同期进货金额;1-区间目标金额不能为空")
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) {
if(argument.getLevelId().equals(levels.getId())){
if (argument.getBusinessType().equals(TzcArgTypes.LevelReturn.name())){
amt1 = argument.getMaxReturnAmt();
amt1 = argument.getMaxReturn();
}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()+"";
for (String levelNum : configArr) {
if(lvNum.equals(levelNum)){
BigDecimal amt1 = levelsParam.getTargetArgument().getMaxReturnAmt();
BigDecimal amt2 = levelsParam.getOverallTargetArgument().getMaxReturnAmt();
BigDecimal amt1 = levelsParam.getTargetArgument().getMaxReturn();
BigDecimal amt2 = levelsParam.getOverallTargetArgument().getMaxReturn();
if(amt1.compareTo(amt2)>0){
maxAmount = amt1;
}else {
@ -335,6 +335,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
levels.setRebateId(rebateId);
levels.setLevelNum(levelsParam.getLevelNum());
levels.setConditionType(levelsParam.getConditionType());
levels.setSamePeriodFlag(levelsParam.getSamePeriodFlag());
levels.setConditionSelect(levelsParam.getConditionSelect());
levels.setConditionRate(levelsParam.getConditionRate());
levels.setConditionAmount(levelsParam.getConditionAmount());
@ -417,12 +418,9 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ
TzcRebateLevelsArgument argument = new TzcRebateLevelsArgument();
argument.setSumAddFlag(argumentParam.getSumAddFlag());
argument.setRateAmtFlag(argumentParam.getRateAmtFlag());
argument.setSumReturnRate(argumentParam.getSumReturnRate());
argument.setSumReturnFixed(argumentParam.getSumReturnFixed());
argument.setSumMaxReturn(argumentParam.getSumMaxReturn());
argument.setAddReturnRate(argumentParam.getAddReturnRate());
argument.setAddReturnFixed(argumentParam.getAddReturnFixed());
argument.setAddMaxReturn(argumentParam.getAddMaxReturn());
argument.setReturnRate(argumentParam.getReturnRate());
argument.setReturnFixed(argumentParam.getReturnFixed());
argument.setMaxReturn(argumentParam.getMaxReturn());
return argument;
}

Loading…
Cancel
Save