Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 năm trước cách đây
mục cha
commit
b8630a70a8

+ 155 - 27
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1,15 +1,127 @@
 package com.ym.mec.biz.service.impl;
 
+import static com.ym.mec.biz.dal.enums.GroupType.COMM;
+import static com.ym.mec.biz.dal.enums.GroupType.PRACTICE;
+import static com.ym.mec.biz.dal.enums.GroupType.VIP;
+
+import java.math.BigDecimal;
+import java.time.Duration;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
 import com.alibaba.fastjson.JSON;
 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.*;
-import com.ym.mec.biz.dal.dto.*;
-import com.ym.mec.biz.dal.entity.*;
-import com.ym.mec.biz.dal.enums.*;
-import com.ym.mec.biz.dal.page.*;
-import com.ym.mec.biz.service.*;
+import com.ym.mec.biz.dal.dao.ClassGroupDao;
+import com.ym.mec.biz.dal.dao.ClassGroupRelationDao;
+import com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao;
+import com.ym.mec.biz.dal.dao.ClassGroupTeacherMapperDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleEvaluateDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleStudentPaymentDao;
+import com.ym.mec.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.ym.mec.biz.dal.dao.CoursesGroupDao;
+import com.ym.mec.biz.dal.dao.GroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupBuildLogDao;
+import com.ym.mec.biz.dal.dao.MusicGroupDao;
+import com.ym.mec.biz.dal.dao.MusicGroupStudentFeeDao;
+import com.ym.mec.biz.dal.dao.PracticeGroupDao;
+import com.ym.mec.biz.dal.dao.SchoolDao;
+import com.ym.mec.biz.dal.dao.StudentApplyRefundsDao;
+import com.ym.mec.biz.dal.dao.StudentAttendanceDao;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dao.SubjectDao;
+import com.ym.mec.biz.dal.dao.SysConfigDao;
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.VipGroupDao;
+import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
+import com.ym.mec.biz.dal.dto.ClassGroupImGroupDto;
+import com.ym.mec.biz.dal.dto.ClassGroupTeacherMapDto;
+import com.ym.mec.biz.dal.dto.ClassGroupTeachersDto;
+import com.ym.mec.biz.dal.dto.CourseListDto;
+import com.ym.mec.biz.dal.dto.CourseTimeDto;
+import com.ym.mec.biz.dal.dto.HighClassGroupDto;
+import com.ym.mec.biz.dal.dto.MusicGroupClassGroupDto;
+import com.ym.mec.biz.dal.dto.MusicGroupCourseScheduleDto;
+import com.ym.mec.biz.dal.dto.StudentAttendanceViewDto;
+import com.ym.mec.biz.dal.dto.StudentPayInfoDto;
+import com.ym.mec.biz.dal.dto.SuperClassGroupDto;
+import com.ym.mec.biz.dal.dto.TeacherClassGroupDto;
+import com.ym.mec.biz.dal.dto.TeacherClassHeadInfo;
+import com.ym.mec.biz.dal.dto.TeacherMusicClassInfoDto;
+import com.ym.mec.biz.dal.dto.TeacherVipClassInfoDto;
+import com.ym.mec.biz.dal.dto.UserMusicGroupQueryInfo;
+import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.entity.ClassGroupRelation;
+import com.ym.mec.biz.dal.entity.ClassGroupStudentMapper;
+import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
+import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
+import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.ym.mec.biz.dal.entity.CoursesGroup;
+import com.ym.mec.biz.dal.entity.Group;
+import com.ym.mec.biz.dal.entity.MusicGroup;
+import com.ym.mec.biz.dal.entity.MusicGroupBuildLog;
+import com.ym.mec.biz.dal.entity.PracticeGroup;
+import com.ym.mec.biz.dal.entity.StudentRegistration;
+import com.ym.mec.biz.dal.entity.Subject;
+import com.ym.mec.biz.dal.entity.SysConfig;
+import com.ym.mec.biz.dal.entity.Teacher;
+import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
+import com.ym.mec.biz.dal.entity.VipGroup;
+import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
+import com.ym.mec.biz.dal.enums.GroupType;
+import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
+import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
+import com.ym.mec.biz.dal.enums.TeachModeEnum;
+import com.ym.mec.biz.dal.enums.TeachTypeEnum;
+import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
+import com.ym.mec.biz.dal.enums.YesOrNoEnum;
+import com.ym.mec.biz.dal.page.ClassGroupQueryInfo;
+import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
+import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
+import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
+import com.ym.mec.biz.dal.page.TeacherMusicClassQueryInfo;
+import com.ym.mec.biz.dal.page.VipClassQueryInfo;
+import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
+import com.ym.mec.biz.service.ClassGroupRelationService;
+import com.ym.mec.biz.service.ClassGroupService;
+import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
+import com.ym.mec.biz.service.CourseScheduleService;
+import com.ym.mec.biz.service.CourseScheduleStudentPaymentService;
+import com.ym.mec.biz.service.CourseScheduleTeacherSalaryService;
+import com.ym.mec.biz.service.StudentRegistrationService;
+import com.ym.mec.biz.service.SubjectService;
+import com.ym.mec.biz.service.SysConfigService;
+import com.ym.mec.biz.service.TeacherDefaultMusicGroupSalaryService;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.entity.ImGroupMember;
@@ -26,22 +138,6 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateConvertor;
 import com.ym.mec.util.date.DateUtil;
 
-import net.bytebuddy.implementation.bytecode.Throw;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-
-import java.math.BigDecimal;
-import java.time.*;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import static com.ym.mec.biz.dal.enums.GroupType.*;
-
 @Service
 public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup> implements ClassGroupService {
 
@@ -1550,11 +1646,14 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                     if(teacherDefaultMusicGroupSalary == null){
                         throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
                     }
-                    if ((teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary() == null
+                    if((classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE) ||
+                            classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MUSIC_NETWORK))&&
+                            StringUtils.isBlank(teacherDefaultMusicGroupSalary.getSalaryRuleJson())){
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }else if(teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary() == null
                             || teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary() == null
                             || teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() == null
-                            || teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() == null)
-                            && teacherDefaultMusicGroupSalary.getSalaryRuleJson() == null) {
+                            || teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() == null) {
                         throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
                     }
 
@@ -1853,10 +1952,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
                     TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(classGroup4MixDto.getCourseType());
 
+                    Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
+                    if(teacherDefaultMusicGroupSalary == null){
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }
+
+                    if((classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE) ||
+                            classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MUSIC_NETWORK))&&
+                        StringUtils.isBlank(teacherDefaultMusicGroupSalary.getSalaryRuleJson())){
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }else if(teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary() == null
+                            || teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary() == null
+                            || teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() == null
+                            || teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() == null) {
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }
+
                     //对应基准课酬
                     BigDecimal baseSalary = new BigDecimal(0), classTimeDuty = new BigDecimal(0);
 
-                    Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                     SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
                     if(Objects.nonNull(teacher.getEntryDate())
                             &&(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime())){
@@ -2132,10 +2246,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
                     TeacherDefaultMusicGroupSalary teacherDefaultMusicGroupSalary = collect.get(classGroup4MixDto.getCourseType());
 
+                    Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
+                    if(teacherDefaultMusicGroupSalary == null){
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }
+                    if((classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE) ||
+                            classGroup4MixDto.getCourseType().equals(CourseSchedule.CourseScheduleType.MUSIC_NETWORK))&&
+                            StringUtils.isBlank(teacherDefaultMusicGroupSalary.getSalaryRuleJson())){
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }else if(teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary() == null
+                            || teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary() == null
+                            || teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() == null
+                            || teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() == null) {
+                        throw new BizException("请设置"+teacher.getRealName()+"老师的"+classGroup4MixDto.getCourseType().getMsg()+"课酬");
+                    }
+
                     //对应基准课酬
                     BigDecimal baseSalary = new BigDecimal(0), classTimeDuty = new BigDecimal(0);
 
-                    Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
                     SalarySettlementTypeEnum settlementType = musicGroup.getSettlementType();
                     if(Objects.nonNull(teacher.getEntryDate())
                             &&(teacher.getEntryDate().after(entryDate)||teacher.getEntryDate().getTime()==entryDate.getTime())){

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupTeacherMapperServiceImpl.java

@@ -205,7 +205,7 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                 }
                 if (teacherDefaultMusicGroupSalary == null) {
                     Teacher teacher = teacherMap.get(classGroupTeacherMapper.getUserId());
-                    throw new BizException("请设置"+teacher.getRealName()+"老师"+classGroupNoStartCourseSchedule.getType().getMsg()+"课酬");
+                    throw new BizException("请设置"+teacher.getRealName()+"老师"+classGroupNoStartCourseSchedule.getType().getMsg()+"默认课酬");
                 }
 
                 //对应基准课酬
@@ -245,6 +245,9 @@ public class ClassGroupTeacherMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         salary = classGroupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP) ? teacherDefaultMusicGroupSalary.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher90MinSalary();
                     }
                 }
+                if(StringUtils.isBlank(teacherDefaultMusicGroupSalary.getSalaryRuleJson())){
+                	throw new BizException("请设置老师默认课酬");
+                }
                 //线上小班课
                 if (classGroupNoStartCourseSchedule.getType().equals(CourseSchedule.CourseScheduleType.HIGH_ONLINE)) {
                     Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(classGroupTeacherMapper.getClassGroupId());

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2654,6 +2654,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							}
 							ts.setExpectSalary(salary);
 						}
+	                    if(StringUtils.isBlank(tdms.getSalaryRuleJson())){
+	                    	throw new BizException("请设置老师默认课酬");
+	                    }
 						//线上小班课
 						if(newCourseSchedule.getType() == CourseScheduleType.HIGH_ONLINE){
 							Integer studentNum = classGroupStudentMapperDao.countClassGroupNormalStudentNum(ts.getClassGroupId());