zouxuan 5 yıl önce
ebeveyn
işleme
a7f72c60f4

+ 31 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -747,9 +747,36 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 }
                 if (money.doubleValue() > 0) {
                     String[] split = e.getCourseScheduleIds().split(",");
-                    for (int i = 0; i < split.length; i++) {
-                        rewardMap.put(Integer.parseInt(split[i]),money.doubleValue()/split.length);
-                        rewardNameMap.put(Integer.parseInt(split[i]),e.getActiveName());
+                    switch (rewardsRule.getRewardMode()) {
+                        case STAIR:
+                            List<String> list = new ArrayList(Arrays.asList(split));
+                            int fromIndex = 0;
+                            List<String> subList;
+                            int max = 0;
+                            for (RewardsRulesJsonDto rulesJsonDto:rulesJsonDtos) {
+                                if(list.size() < fromIndex){
+                                    break;
+                                }
+                                max = rulesJsonDto.getMax();
+                                if(list.size() < rulesJsonDto.getMax()){
+                                    max = list.size();
+                                }
+                                subList = list.subList(fromIndex,max);
+                                fromIndex = rulesJsonDto.getMax();
+                                if(subList != null && subList.size() > 0){
+                                    subList.forEach(courseId->{
+                                        rewardMap.put(Integer.parseInt(courseId),rulesJsonDto.getMoney().doubleValue());
+                                        rewardNameMap.put(Integer.parseInt(courseId),e.getActiveName());
+                                    });
+                                }
+                            }
+                            break;
+                        case PER:
+                            for (int i = 0; i < split.length; i++) {
+                                rewardMap.put(Integer.parseInt(split[i]),money.doubleValue()/split.length);
+                                rewardNameMap.put(Integer.parseInt(split[i]),e.getActiveName());
+                            }
+                            break;
                     }
                 }
             });
@@ -765,6 +792,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         return exportTeacherSalaryDtos;
     }
 
+
     @Override
     public List<Long> querySettlementScheduleId(String courseScheduleIds) {
         return courseScheduleTeacherSalaryDao.querySettlementScheduleId(courseScheduleIds);