| 
					
				 | 
			
			
				@@ -1399,6 +1399,54 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void salaryMarkNew(Date startDay) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date now = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date date = DateUtil.addMonths(now, -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(Objects.nonNull(startDay)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            date = startDay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String startDate = DateUtil.format(DateUtil.getFirstDayOfMonth(date),DateUtil.DEFAULT_PATTERN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String endDate = DateUtil.format(DateUtil.getLastDayOfMonth(date),DateUtil.DEFAULT_PATTERN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        redisTemplate.delete(CourseScheduleTeacherSalaryService.TASK_KEY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CourseScheduleTeacherSalary> salaries = courseScheduleTeacherSalaryDao.getIsSalaryWithDate(startDate, endDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(CollectionUtils.isEmpty(salaries)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SysConfig dayaBaseSalaryAmountConfig = sysConfigService.findByParamName(SysConfigService.DAYA_BASE_SALARY_AMOUNT); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal dayaBaseSalaryAmount = new BigDecimal(4000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(Objects.nonNull(dayaBaseSalaryAmountConfig)&&StringUtils.isNotBlank(dayaBaseSalaryAmountConfig.getParanValue())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dayaBaseSalaryAmount = new BigDecimal(dayaBaseSalaryAmountConfig.getParanValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Integer, List<CourseScheduleTeacherSalary>> teacherSalariesMap = salaries.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getUserId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CourseScheduleTeacherSalary> updateRecords = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (Map.Entry<Integer, List<CourseScheduleTeacherSalary>> teacherSalariesMapEntry : teacherSalariesMap.entrySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<CourseScheduleTeacherSalary> teacherSalaries = teacherSalariesMapEntry.getValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            BigDecimal teacherBaseSalaryAmount = new BigDecimal("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            teacherSalaries.sort(Comparator.comparing(ts->ts.getCourseSchedule().getStartClassTime())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (CourseScheduleTeacherSalary teacherSalary : teacherSalaries) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(teacherBaseSalaryAmount.compareTo(dayaBaseSalaryAmount)>=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                teacherBaseSalaryAmount = teacherBaseSalaryAmount.add(teacherSalary.getActualSalary()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setId(teacherSalary.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                courseScheduleTeacherSalary.setBelongToDaya(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                updateRecords.add(courseScheduleTeacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!CollectionUtils.isEmpty(updateRecords)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            courseScheduleTeacherSalaryDao.batchUpdate(updateRecords); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void salaryMark() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Date now = new Date(); 
			 |