|
@@ -929,92 +929,14 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
|
|
|
//乐团课
|
|
|
exportTeacherSalaryDtos.addAll(courseScheduleTeacherSalaryDao.exportMusicTeacherSalary(params));
|
|
|
//vip课
|
|
|
+ params.put("groupType","VIP");
|
|
|
List<ExportTeacherSalaryDto> exportVipTeacherSalaryDtos = courseScheduleTeacherSalaryDao.exportVipTeacherSalary(params);
|
|
|
- //获取有奖励的vip课
|
|
|
- /*List<TaskRewardsRulesDto> rewardsRulesDtos = courseScheduleRewardsRulesService.queryVipGroupTeacherClassTimesByMonth(month);
|
|
|
- Map<Integer,Double> rewardMap = new HashMap<>(1000);
|
|
|
- Map<Integer,String> rewardNameMap = new HashMap<>(1000);
|
|
|
- if(rewardsRulesDtos != null && rewardsRulesDtos.size() > 0){
|
|
|
- List<Integer> activeIds = rewardsRulesDtos.stream().map(e -> e.getActiveId()).collect(Collectors.toList());
|
|
|
- List<CourseScheduleRewardsRules> rewardsRules = courseScheduleRewardsRulesService.findByIds(activeIds);
|
|
|
- Map<Integer, List<CourseScheduleRewardsRules>> integerListMap = rewardsRules.stream().collect(Collectors.groupingBy(CourseScheduleRewardsRules::getId));
|
|
|
- rewardsRulesDtos.forEach(e->{
|
|
|
- CourseScheduleRewardsRules rewardsRule = integerListMap.get(e.getActiveId()).get(0);
|
|
|
- List<RewardsRulesJsonDto> rulesJsonDtos = JSONObject.parseArray(rewardsRule.getRewardsRulesJson(), RewardsRulesJsonDto.class);
|
|
|
- BigDecimal money = BigDecimal.ZERO;
|
|
|
- //STAIR 阶梯, PER 累计, TOTAL
|
|
|
- RewardsRulesJsonDto dto;
|
|
|
- int times = e.getTimes();
|
|
|
- switch (rewardsRule.getRewardMode()) {
|
|
|
- case STAIR:
|
|
|
- for (int i = 0;i< rulesJsonDtos.size();i++){
|
|
|
- dto = rulesJsonDtos.get(i);
|
|
|
- if (e.getTimes() >= dto.getMin()) {
|
|
|
- //最后一个梯度
|
|
|
- if(rulesJsonDtos.size()-1 == i){
|
|
|
- money = money.add(dto.getMoney().multiply(new BigDecimal(times)));
|
|
|
- }else if(e.getTimes() >= dto.getMax()){
|
|
|
- times = Math.abs(dto.getMax() - times);
|
|
|
- money = money.add(dto.getMoney().multiply(new BigDecimal(dto.getMax()-dto.getMin()+1)));
|
|
|
- }else {
|
|
|
- money = money.add(dto.getMoney().multiply(new BigDecimal(times)));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case PER:
|
|
|
- for (int i = 0;i< rulesJsonDtos.size();i++){
|
|
|
- dto = rulesJsonDtos.get(i);
|
|
|
- if (e.getTimes() >= dto.getMin()) {
|
|
|
- money = dto.getMoney().multiply(new BigDecimal(times));
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
- case TOTAL:
|
|
|
- break;
|
|
|
- }
|
|
|
- if (money.doubleValue() > 0) {
|
|
|
- String[] split = e.getCourseScheduleIds().split(",");
|
|
|
- switch (rewardsRule.getRewardMode()) {
|
|
|
- case STAIR:
|
|
|
- List<String> list = new ArrayList(Arrays.asList(split));
|
|
|
- Collections.sort(list);
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- exportVipTeacherSalaryDtos.forEach(e->{
|
|
|
- e.setRewards(rewardMap.get(e.getCourseScheduleId()));
|
|
|
- e.setActiveName(rewardNameMap.get(e.getCourseScheduleId()));
|
|
|
- });*/
|
|
|
+ params.put("groupType","LIVE");
|
|
|
+ List<ExportTeacherSalaryDto> exportLiveTeacherSalaryDtos = courseScheduleTeacherSalaryDao.exportVipTeacherSalary(params);
|
|
|
exportTeacherSalaryDtos.addAll(exportVipTeacherSalaryDtos);
|
|
|
+ if(!CollectionUtils.isEmpty(exportLiveTeacherSalaryDtos)){
|
|
|
+ exportTeacherSalaryDtos.addAll(exportLiveTeacherSalaryDtos);
|
|
|
+ }
|
|
|
//vip课(梯度课酬)
|
|
|
//陪练课
|
|
|
exportTeacherSalaryDtos.addAll(courseScheduleTeacherSalaryDao.exportPracticeTeacherSalary(params));
|