Quellcode durchsuchen

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

yonge vor 5 Jahren
Ursprung
Commit
42fa7c8505

+ 40 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -302,6 +302,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = new ArrayList<>();
         List<ClassGroupImGroupDto> classGroupImGroupList = new ArrayList<>();
         Integer schoolId = musicGroup.getSchoolId();
+
+
         for (HighClassGroupDto highClassGroup : highClassGroupList) {
             if (highClassGroup.getDayOfWeek() < 1 || highClassGroup.getDayOfWeek() > 7) {
                 throw new BizException("上课星期错误,请核查");
@@ -331,15 +333,31 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
             //3、插入班级排课信息
             int times = 0;
-            //LocalDateTime now = LocalDateTime.ofInstant(highClassGroup.getStartDate().toInstant(), ZoneId.systemDefault());
             LocalDateTime now = LocalDate.parse(highClassGroup.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay();
 
-
             List<Subject> subjectList = subjectService.findBySubjectByIdList(highClassGroup.getSubjectIdList());
 
             String courseScheduleName = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
+
+            Map<String, Integer> holidayDays = new HashMap<>();
+            Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+            if (highClassGroup.getHoliday()) {
+                holiday = jiaRiFeignService.query(now.getYear());
+                holidayDays = holiday.get(now.getYear());
+            }
+
+            WhileNode:
             while (highClassGroup.getCourseTimes() > times) {
+                if(highClassGroup.getHoliday() && !holiday.containsKey(now.getYear())){
+                    holiday = jiaRiFeignService.query(now.getYear());
+                    holidayDays = holiday.get(now.getYear());
+                }
+                if (highClassGroup.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MMdd")))) {
+                    now = now.plusDays(1);
+                    continue;
+                }
+
                 int dayOfWeek = now.getDayOfWeek().getValue();
                 if (highClassGroup.getDayOfWeek() == dayOfWeek) {
                     CourseSchedule courseSchedule = new CourseSchedule();
@@ -377,6 +395,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             classGroupImGroupDto.setUserIds(userIdList);
             classGroupImGroupList.add(classGroupImGroupDto);
         }
+
+
         //加入Im群组
         batchAddImGroup(classGroupImGroupList);
         classGroupTeacherMapperService.classGroupTeachersInsert(classGroupTeacherMapperList);
@@ -1084,14 +1104,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         int times = 0;
 
         Map<String, Integer> holidayDays = new HashMap<>();
+        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
         if (classGroup4MixDto.getHoliday()) {
-            Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
+            holiday = jiaRiFeignService.query(now.getYear());
             holidayDays = holiday.get(now.getYear());
         }
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
         WhileNode:
         while (true) {
+            if(classGroup4MixDto.getHoliday() && !holiday.containsKey(now.getYear())){
+                holiday = jiaRiFeignService.query(now.getYear());
+                holidayDays = holiday.get(now.getYear());
+            }
             if (classGroup4MixDto.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MM-dd")))) {
                 now = now.plusDays(1);
                 continue;
@@ -1291,14 +1316,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
         int times = 0;
         Map<String, Integer> holidayDays = new HashMap<>();
+        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
         if (classGroup4MixDto.getHoliday()) {
-            Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
+            holiday = jiaRiFeignService.query(now.getYear());
             holidayDays = holiday.get(now.getYear());
         }
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
         WhileNode:
         while (true) {
+            if(classGroup4MixDto.getHoliday() && !holiday.containsKey(now.getYear())){
+                holiday = jiaRiFeignService.query(now.getYear());
+                holidayDays = holiday.get(now.getYear());
+            }
             if (classGroup4MixDto.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MM-dd")))) {
                 now = now.plusDays(1);
                 continue;
@@ -1518,14 +1548,19 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         BigDecimal expectPrice = new BigDecimal("0");
         int times = 0;
         Map<String, Integer> holidayDays = new HashMap<>();
+        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
         if (classGroup4MixDto.getHoliday()) {
-            Map<Integer, Map<String, Integer>> holiday = jiaRiFeignService.query(now.getYear());
+            holiday = jiaRiFeignService.query(now.getYear());
             holidayDays = holiday.get(now.getYear());
         }
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 
         WhileNode:
         while (true) {
+            if(classGroup4MixDto.getHoliday() && !holiday.containsKey(now.getYear())){
+                holiday = jiaRiFeignService.query(now.getYear());
+                holidayDays = holiday.get(now.getYear());
+            }
             if (classGroup4MixDto.getHoliday() && holidayDays.containsKey(now.format(DateTimeFormatter.ofPattern("MM-dd")))) {
                 now = now.plusDays(1);
                 continue;

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -199,6 +199,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 
         //处理课酬信息
         someDayAgoTeacherCourseSalaryNoSettlement.forEach(courseScheduleTeacherSalary -> {
+            TeacherAttendance teacherAttendanceInfo = teacherAttendanceDao.findByTeacherAttendanceInfo(courseScheduleTeacherSalary.getUserId().longValue(), courseScheduleTeacherSalary.getCourseScheduleId());
+            if(Objects.isNull(teacherAttendanceInfo)
+                    ||(Objects.isNull(teacherAttendanceInfo.getSignInTime())&&Objects.isNull(teacherAttendanceInfo.getSignOutTime()))){
+                return;
+            }
             //获取当前课程学生缴费记录
             List<CourseScheduleStudentPayment> studentPaymentsWithCourse = studentPaymentGroupByCourse.get(courseScheduleTeacherSalary.getCourseScheduleId());
 
@@ -413,6 +418,11 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         List<SysUserCashAccountDetail> userCashAccountDetails = new ArrayList<>();
         //计算课酬
         courseScheduleTeacherSalaries.forEach(courseScheduleTeacherSalary -> {
+            TeacherAttendance teacherAttendanceInfo = teacherAttendanceDao.findByTeacherAttendanceInfo(courseScheduleTeacherSalary.getUserId().longValue(), courseScheduleTeacherSalary.getCourseScheduleId());
+            if(Objects.isNull(teacherAttendanceInfo)
+                ||(Objects.isNull(teacherAttendanceInfo.getSignInTime())&&Objects.isNull(teacherAttendanceInfo.getSignOutTime()))){
+                return;
+            }
             boolean durationIsChange = false;
             //当前课酬对应的课程信息
             CourseSchedule courseSchedule = courseScheduleIdMap.get(courseScheduleTeacherSalary.getCourseScheduleId());

+ 1 - 14
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java

@@ -633,7 +633,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         }
         Integer highClassId = studentAddDto.getHighClassId();
         if(highClassId != null){
-            addStudent(mixClassId,userId,nowDate,courseScheduleList);
+            addStudent(highClassId,userId,nowDate,courseScheduleList);
         }
         String snapClassIds = studentAddDto.getSnapClassIds();
         if(StringUtils.isNotEmpty(snapClassIds)){
@@ -708,19 +708,6 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 studentPaymentOrderService.update(waitPayOrder);
                 //添加学生
                 //classGroupStudentMapperService.addStudents(waitPayOrder.getClassGroupId(), studentRegistration.getUserId().toString(), GroupType.MUSIC);
-            } else {
-                //加入缴费周期
-                MusicGroupStudentFee musicGroupStudentFee = new MusicGroupStudentFee();
-                musicGroupStudentFee.setMusicGroupId(studentRegistration.getMusicGroupId());
-                musicGroupStudentFee.setUserId(studentRegistration.getUserId());
-                musicGroupStudentFee.setCourseFee(musicOneSubjectClassPlan.getFee());
-                musicGroupStudentFee.setCreateTime(nowDate);
-                musicGroupStudentFee.setUpdateTime(nowDate);
-                musicGroupStudentFee.setNextPaymentDate(musicGroupPaymentCalenderService.getNextPaymentDate(studentRegistration.getMusicGroupId()));
-                musicGroupStudentFee.setLatestPaidTime(nowDate);
-                musicGroupStudentFee.setSubjectId(studentRegistration.getActualSubjectId());
-                musicGroupStudentFee.setPaymentStatus(MusicGroupStudentFee.PaymentStatus.PAID_COMPLETED);
-                musicGroupStudentFeeDao.insert(musicGroupStudentFee);
             }
 
             //插入交易明细

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1321,6 +1321,7 @@
             course_schedule cs
         WHERE cs.class_date_=DATE_FORMAT(#{date},'%Y-%m-%d')
         AND cs.group_type_='MUSIC'
+        AND (cs.del_flag_ IS NULL OR cs.del_flag_=0)
     </select>
     <select id="findByClassGroup" resultMap="CourseSchedule">
       select

+ 1 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -215,6 +215,7 @@
 		cs.class_date_ &lt;= DATE_FORMAT(DATE_ADD( NOW( ), INTERVAL - 1 DAY ),'%Y-%m-%d')
 		AND cs.type_='VIP'
 		AND csts.settlement_time_ IS NULL
+		AND (cs.del_flag_ IS NULL OR cs.del_flag_=0)
     </select>
     
     <select id="queryByCourseScheduleIdAndUserId" resultMap="CourseScheduleTeacherSalary" parameterType="map">

+ 2 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupStudentFeeMapper.xml

@@ -168,8 +168,9 @@
     </select>
 
     <select id="initMusicGroupStudentFee" resultMap="MusicGroupStudentFee">
-        SELECT sr.music_group_id_,sr.user_id_,sr.actual_subject_id_ subject_id_ FROM student_registration sr
+        SELECT sr.music_group_id_,sr.user_id_,sr.actual_subject_id_ subject_id_,mgsp.fee_ course_fee_ FROM student_registration sr
         LEFT JOIN music_group_student_fee_ mgsf ON sr.user_id_ = mgsf.user_id_ AND sr.music_group_id_ = mgsf.music_group_id_
+        LEFT JOIN music_group_subject_plan mgsp ON mgsp.music_group_id_ = sr.music_group_id_ AND mgsp.subject_id_ = sr.actual_subject_id_
         WHERE sr.music_group_status_ != 'QUIT' AND sr.payment_status_ = 2 AND mgsf.id_ IS NULL AND sr.music_group_id_ = #{musicGroupId}
     </select>