|
|
@ -612,9 +612,8 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
|
.collect(Collectors.groupingBy(TzcRebateLevelsParam::getLevelNum)); |
|
|
|
for (Map.Entry<Integer, List<TzcRebateLevelsParam>> entry : map.entrySet()) { |
|
|
|
List<TzcRebateLevelsParam> levelsList = entry.getValue(); |
|
|
|
if(levelsList.size()>1){ |
|
|
|
Assert.throwEx("坎级数字["+entry.getKey()+"]不能重复"); |
|
|
|
} |
|
|
|
// 检查同期或不同期是否设置重复
|
|
|
|
this.checkLevelSameSettings(entry.getKey(), levelsList); |
|
|
|
TzcRebateLevelsParam levels = levelsList.get(0); |
|
|
|
levels.getTargetArgument().check("返利"); |
|
|
|
levels.getOverallTargetArgument().check("总目标返利"); |
|
|
@ -628,4 +627,26 @@ public class TzcRebateApplicationServiceImpl implements TzcRebateApplicationServ |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断坎级同期设置 |
|
|
|
* @param levelNum |
|
|
|
* @param levelsList |
|
|
|
*/ |
|
|
|
private void checkLevelSameSettings(Integer levelNum, List<TzcRebateLevelsParam> levelsList) { |
|
|
|
for (TzcRebateLevelsParam levelsParam : levelsList) { |
|
|
|
if(levelsParam.getSamePeriodFlag()==0&& levelsList.size()>1){ |
|
|
|
Assert.throwEx("坎级["+ levelNum+"]已设置不限同期,但配置找到了多个"); |
|
|
|
} |
|
|
|
} |
|
|
|
Map<Integer,List<TzcRebateLevelsParam>> map2 = levelsList.stream() |
|
|
|
.collect(Collectors.groupingBy(TzcRebateLevelsParam::getSamePeriodFlag)); |
|
|
|
for (Integer integer : map2.keySet()) { |
|
|
|
List<TzcRebateLevelsParam> levelsList2 = map2.get(integer); |
|
|
|
if (levelsList2.size()>1){ |
|
|
|
String string = integer.equals(1)?"老客户对比同期正增长" : "老客户无同期或新客户"; |
|
|
|
Assert.throwEx("坎级["+ levelNum+"]不能设置["+string+"]重复"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|