|
@ -82,9 +82,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
List<TzcRebateSubjectVo> subjectVoList = buildSubjectVoList(subjectList, centerList); |
|
|
List<TzcRebateSubjectVo> subjectVoList = buildSubjectVoList(subjectList, centerList); |
|
|
tzcRebateVo.setSubjectList(subjectVoList); |
|
|
tzcRebateVo.setSubjectList(subjectVoList); |
|
|
|
|
|
|
|
|
List<TzcRebatePeriodVo> periodVoList = buildPeriodVoList(argumentList, periodList); |
|
|
tzcRebateVo.setPeriodList(periodList); |
|
|
tzcRebateVo.setPeriodList(periodVoList); |
|
|
|
|
|
|
|
|
|
|
|
tzcRebateVo.setGoodsList(goodsList); |
|
|
tzcRebateVo.setGoodsList(goodsList); |
|
|
tzcRebateVo.setConfigList(configList); |
|
|
tzcRebateVo.setConfigList(configList); |
|
|
|
|
|
|
|
@ -128,22 +126,6 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
return subjectVoList; |
|
|
return subjectVoList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@NotNull |
|
|
|
|
|
private List<TzcRebatePeriodVo> buildPeriodVoList(List<TzcRebateLevelsArgument> argumentList, List<TzcRebatePeriod> periodList) { |
|
|
|
|
|
List<TzcRebatePeriodVo> periodVoList = new ArrayList<>(); |
|
|
|
|
|
for (TzcRebatePeriod period : periodList) { |
|
|
|
|
|
TzcRebatePeriodVo periodVo = CopierUtil.copy(period,new TzcRebatePeriodVo()); |
|
|
|
|
|
for (TzcRebateLevelsArgument argument : argumentList) { |
|
|
|
|
|
if(argument.getPeriodId().equals(period.getId())&& |
|
|
|
|
|
argument.getBusinessType().equals(TzcArgTypes.PeriodSupplement.name())){ |
|
|
|
|
|
periodVo.setArgument(argument); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
periodVoList.add(periodVo); |
|
|
|
|
|
} |
|
|
|
|
|
return periodVoList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public TzcRebate modifyRebate(TzcRebateParam param) { |
|
|
public TzcRebate modifyRebate(TzcRebateParam param) { |
|
@ -212,8 +194,9 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
for (TzcRebateLevelsConfigParam configParam : param.getConfigList()) { |
|
|
for (TzcRebateLevelsConfigParam configParam : param.getConfigList()) { |
|
|
TzcRebateLevelsConfig config = new TzcRebateLevelsConfig(); |
|
|
TzcRebateLevelsConfig config = new TzcRebateLevelsConfig(); |
|
|
config.setRebateId(rebateId); |
|
|
config.setRebateId(rebateId); |
|
|
config.setLevelNum(config.getLevelNum()); |
|
|
config.setLevelNum(configParam.getLevelNum()); |
|
|
config.setLevelConfigs(config.getLevelConfigs()); |
|
|
config.setLevelConfigs(configParam.getLevelConfigs()); |
|
|
|
|
|
config.setTmpUk(configParam.getTmpUk()); |
|
|
tzcRebateLevelsConfigService.save(config); |
|
|
tzcRebateLevelsConfigService.save(config); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -288,14 +271,14 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
*/ |
|
|
*/ |
|
|
public BigDecimal getMaxLevelsAmount(TzcRebateParam param){ |
|
|
public BigDecimal getMaxLevelsAmount(TzcRebateParam param){ |
|
|
int level = 0; |
|
|
int level = 0; |
|
|
String config = ""; |
|
|
String configString = ""; |
|
|
for (TzcRebateLevelsConfigParam configParam : param.getConfigList()) { |
|
|
for (TzcRebateLevelsConfigParam configParam : param.getConfigList()) { |
|
|
if(configParam.getLevelNum()>level){ |
|
|
if(configParam.getLevelNum()>level){ |
|
|
level = configParam.getLevelNum(); |
|
|
level = configParam.getLevelNum(); |
|
|
config = configParam.getLevelConfigs(); |
|
|
configString = configParam.getLevelConfigs(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
String[] configArr = config.split(","); |
|
|
String[] configArr = configString.split(","); |
|
|
BigDecimal maxAmount = BigDecimal.ZERO; |
|
|
BigDecimal maxAmount = BigDecimal.ZERO; |
|
|
for (TzcRebateLevelsParam levelsParam : param.getLevelsList()) { |
|
|
for (TzcRebateLevelsParam levelsParam : param.getLevelsList()) { |
|
|
String lvNum = levelsParam.getLevelNum()+""; |
|
|
String lvNum = levelsParam.getLevelNum()+""; |
|
@ -330,6 +313,7 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
levels.setConditionAmount(levelsParam.getConditionAmount()); |
|
|
levels.setConditionAmount(levelsParam.getConditionAmount()); |
|
|
levels.setExampleRemark(levelsParam.getExampleRemark()); |
|
|
levels.setExampleRemark(levelsParam.getExampleRemark()); |
|
|
levels.setRemark(levelsParam.getRemark()); |
|
|
levels.setRemark(levelsParam.getRemark()); |
|
|
|
|
|
levels.setTmpUk(levelsParam.getTmpUk()); |
|
|
tzcRebateLevelsService.save(levels); |
|
|
tzcRebateLevelsService.save(levels); |
|
|
Long levelId = levels.getId(); |
|
|
Long levelId = levels.getId(); |
|
|
|
|
|
|
|
@ -389,15 +373,8 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
period.setSamePeriodAmount(periodParam.getSamePeriodAmount()); |
|
|
period.setSamePeriodAmount(periodParam.getSamePeriodAmount()); |
|
|
period.setCompensationFlag(periodParam.getCompensationFlag()); |
|
|
period.setCompensationFlag(periodParam.getCompensationFlag()); |
|
|
period.setRemark(periodParam.getRemark()); |
|
|
period.setRemark(periodParam.getRemark()); |
|
|
|
|
|
period.setTmpUk(periodParam.getTmpUk()); |
|
|
tzcRebatePeriodService.save(period); |
|
|
tzcRebatePeriodService.save(period); |
|
|
Long periodId = period.getId(); |
|
|
|
|
|
|
|
|
|
|
|
// 保存返利参数
|
|
|
|
|
|
TzcRebateLevelsArgument argument = buildArgByParam(periodParam.getArgumentParam()); |
|
|
|
|
|
argument.setBusinessType(TzcArgTypes.PeriodSupplement.name()); |
|
|
|
|
|
argument.setLevelId(0L); |
|
|
|
|
|
argument.setPeriodId(periodId); |
|
|
|
|
|
tzcRebateLevelsArgumentService.save(argument); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -552,11 +529,6 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
Assert.throwEx("["+period.getPeriodTitle()+"]与["+period2.getPeriodTitle()+"],时间段存在交集"); |
|
|
Assert.throwEx("["+period.getPeriodTitle()+"]与["+period2.getPeriodTitle()+"],时间段存在交集"); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if(ResultFlag.isTrue(period.getCompensationFlag())){ |
|
|
|
|
|
if(period.getArgumentParam()==null){ |
|
|
|
|
|
Assert.throwEx("["+period.getPeriodTitle()+"]返利补偿不能为空"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 坎级数字必须唯一
|
|
|
// 坎级数字必须唯一
|
|
|