|  | @@ -1,5 +1,8 @@
 | 
	
		
			
				|  |  |  package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.*;
 | 
	
	
		
			
				|  | @@ -86,6 +89,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      private ImFeignService imFeignService;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private JiaRiFeignService jiaRiFeignService;
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private SysConfigService sysConfigService;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -418,16 +423,43 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      public List<ClassGroupTeachersDto> getClassGroupAndTeacherSalary(String musicGroupId, SalarySettlementTypeEnum type, Integer classGroupId) throws Exception {
 | 
	
		
			
				|  |  |          //乐团班级及班级老师
 | 
	
		
			
				|  |  |          List<ClassGroupTeachersDto> classGroupAndTeachers = getClassGroupAndTeachers(musicGroupId, "NORMAL,MIX,HIGH", classGroupId);
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        BigDecimal zeroSalary = new BigDecimal(0);
 | 
	
		
			
				|  |  |          for (ClassGroupTeachersDto classGroupAndTeacher : classGroupAndTeachers) {
 | 
	
		
			
				|  |  |              //班级的教师列表
 | 
	
		
			
				|  |  |              List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroupAndTeacher.getClassGroupTeacherMapperList();
 | 
	
		
			
				|  |  |              for (ClassGroupTeacherMapper classGroupTeacherMapper : classGroupTeacherMapperList) {
 | 
	
		
			
				|  |  |                  //获取老师的默认课酬
 | 
	
		
			
				|  |  |                  String courseType = classGroupAndTeacher.getType().equals(ClassGroupTypeEnum.NORMAL) ? "SINGLE" : classGroupAndTeacher.getType().getCode();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  List<TeacherDefaultMusicGroupSalary> teacherSalaryByUserIdAndType = teacherDefaultMusicGroupSalaryService.getTeacherSalaryByUserIdAndType(classGroupTeacherMapper.getUserId(), courseType, type);
 | 
	
		
			
				|  |  | -                if (teacherSalaryByUserIdAndType == null) {
 | 
	
		
			
				|  |  | -                    throw new Exception("userId:" + classGroupTeacherMapper.getUserId() + "名字:" + classGroupTeacherMapper.getUserName() + " 老师没有设置课酬");
 | 
	
		
			
				|  |  | +                //老师课酬没有设置,设置成0
 | 
	
		
			
				|  |  | +                if (teacherSalaryByUserIdAndType == null || teacherSalaryByUserIdAndType.size()==0) {
 | 
	
		
			
				|  |  | +                    if (type.equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
 | 
	
		
			
				|  |  | +                        String paramName = courseType.equals("SINGLE") ? "sigle_gradient_settlement_rule" : (courseType.equals("MIX") ? "max_gradient_settlement_rule" : "high_gradient_settlement_rule");
 | 
	
		
			
				|  |  | +                        SysConfig sysConfig = sysConfigService.findByParamName(paramName);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        List<Map<String, String>> configs = JSONArray.parseObject(sysConfig.getParanValue(), List.class);
 | 
	
		
			
				|  |  | +                        for (Map<String, String> config : configs) {
 | 
	
		
			
				|  |  | +                            TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = new TeacherDefaultMusicGroupSalary();
 | 
	
		
			
				|  |  | +                            teacherDefaultMusicGroupSalary.setDurationMin(Integer.parseInt(config.get("min")));
 | 
	
		
			
				|  |  | +                            teacherDefaultMusicGroupSalary.setDurationMax(Integer.parseInt(config.get("max")));
 | 
	
		
			
				|  |  | +                            teacherDefaultMusicGroupSalary.setSettlementType(type);
 | 
	
		
			
				|  |  | +                            teacherDefaultMusicGroupSalary.setUserId(classGroupTeacherMapper.getUserId());
 | 
	
		
			
				|  |  | +                            teacherDefaultMusicGroupSalary.setAssistantTeacherSalary(zeroSalary);
 | 
	
		
			
				|  |  | +                            teacherDefaultMusicGroupSalary.setMainTeacherSalary(zeroSalary);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            teacherSalaryByUserIdAndType.add(teacherDefaultMusicGroupSalary);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = new TeacherDefaultMusicGroupSalary();
 | 
	
		
			
				|  |  | +                        teacherDefaultMusicGroupSalary.setAssistantTeacherSalary(zeroSalary);
 | 
	
		
			
				|  |  | +                        teacherDefaultMusicGroupSalary.setMainTeacherSalary(zeroSalary);
 | 
	
		
			
				|  |  | +                        teacherDefaultMusicGroupSalary.setSettlementType(type);
 | 
	
		
			
				|  |  | +                        teacherDefaultMusicGroupSalary.setUserId(classGroupTeacherMapper.getUserId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        teacherSalaryByUserIdAndType.add(teacherDefaultMusicGroupSalary);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  classGroupTeacherMapper.setTeacherDefaultMusicGroupSalaryList(teacherSalaryByUserIdAndType);
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -521,7 +553,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |              Map<Integer, Long> numsMap = MapUtil.convertMybatisMap(nums);
 | 
	
		
			
				|  |  |              imGroupModels.forEach(e -> {
 | 
	
		
			
				|  |  |                  Long num = numsMap.get(Integer.parseInt(e.getId()));
 | 
	
		
			
				|  |  | -                e.setCount((int)(num == null ? 0L : num) + e.getCount());
 | 
	
		
			
				|  |  | +                e.setCount((int) (num == null ? 0L : num) + e.getCount());
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          return imGroupModels;
 | 
	
	
		
			
				|  | @@ -530,7 +562,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public List<ImUserModel> findGroupUsers(Integer groupId) {
 | 
	
		
			
				|  |  |          List<ImUserModel> students = classGroupDao.findGroupUsers(groupId);
 | 
	
		
			
				|  |  | -        if(students == null){
 | 
	
		
			
				|  |  | +        if (students == null) {
 | 
	
		
			
				|  |  |              students = new ArrayList<>();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          List<ImUserModel> teachers = classGroupDao.findGroupTeacher(groupId);
 | 
	
	
		
			
				|  | @@ -867,7 +899,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          int times = 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          Map<String, Integer> holidayDays = new HashMap<>();
 | 
	
		
			
				|  |  | -        if(classGroup4MixDto.getHoliday()) {
 | 
	
		
			
				|  |  | +        if (classGroup4MixDto.getHoliday()) {
 | 
	
		
			
				|  |  |              Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
 | 
	
		
			
				|  |  |              holidayDays = holiday.get(now.getYear());
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -1068,7 +1100,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          BigDecimal expectPrice = new BigDecimal("0");
 | 
	
		
			
				|  |  |          int times = 0;
 | 
	
		
			
				|  |  |          Map<String, Integer> holidayDays = new HashMap<>();
 | 
	
		
			
				|  |  | -        if(classGroup4MixDto.getHoliday()) {
 | 
	
		
			
				|  |  | +        if (classGroup4MixDto.getHoliday()) {
 | 
	
		
			
				|  |  |              Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
 | 
	
		
			
				|  |  |              holidayDays = holiday.get(now.getYear());
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -1266,7 +1298,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 | 
	
		
			
				|  |  |          BigDecimal expectPrice = new BigDecimal("0");
 | 
	
		
			
				|  |  |          int times = 0;
 | 
	
		
			
				|  |  |          Map<String, Integer> holidayDays = new HashMap<>();
 | 
	
		
			
				|  |  | -        if(classGroup4MixDto.getHoliday()) {
 | 
	
		
			
				|  |  | +        if (classGroup4MixDto.getHoliday()) {
 | 
	
		
			
				|  |  |              Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
 | 
	
		
			
				|  |  |              holidayDays = holiday.get(now.getYear());
 | 
	
		
			
				|  |  |          }
 |