Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master'

周箭河 před 5 roky
rodič
revize
fbae41842a

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

@@ -110,6 +110,9 @@ public interface PracticeGroupService extends BaseService<Long, PracticeGroup> {
      */
 	List<Date> getEnableApplyDates(Date startDay,Date endDay);
 
+
+	List<Date> getEnableApplyDatesIncludeAllTimes(Date startDay,Date endDay);
+
 	/**
 	 * @describe 陪练课预约
 	 * @author Joburgess

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

@@ -208,7 +208,7 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
             courseScheduleTeacherSalary.setGroupType(GroupType.MUSIC);
             courseScheduleTeacherSalary.setMusicGroupId(musicGroup.getId());
             courseScheduleTeacherSalary.setTeacherRole(classGroupTeacherMapper.getTeacherRole());
-            courseScheduleTeacherSalary.setUserId(onlineMusicGroupCourseInfo.getStudentId());
+            courseScheduleTeacherSalary.setUserId(onlineMusicGroupCourseInfo.getTeacherId());
             courseScheduleTeacherSalary.setExpectSalary(teacherDefaultSalary);
             courseScheduleTeacherSalary.setCreateTime(now);
             courseScheduleTeacherSalary.setUpdateTime(now);
@@ -242,7 +242,7 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
         teacherAttendanceDao.batchInsert(teacherAttendances);
 
         try {
-            courseScheduleService.checkNewCourseSchedulesWithoutMusicGroup(courses,false);
+            courseScheduleService.checkNewCourseSchedules(courses,false);
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             String errMessage=new String();
@@ -473,7 +473,7 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
         Date firstMonday = DateUtil.getWeekDayWithDate(applyStartDate, Calendar.MONDAY);
         Date secondSunday = DateUtil.getWeekDayWithDate(applyEndDate, Calendar.SUNDAY);
 
-        List<Date> enableApplyDates = practiceGroupService.getEnableApplyDates(applyStartDate, applyEndDate);
+        List<Date> enableApplyDates = practiceGroupService.getEnableApplyDatesIncludeAllTimes(applyStartDate, applyEndDate);
         List<CourseSchedule> allTeacherCourses = courseScheduleDao.findTeacherCoursesWithDateRange(teacherId, firstMonday, secondSunday);
         allTeacherCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -1625,6 +1625,50 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
     }
 
     @Override
+    public List<Date> getEnableApplyDatesIncludeAllTimes(Date startDay, Date endDay) {
+        List<Date> result = new ArrayList<>();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(startDay);
+        calendar.add(Calendar.DATE, -1);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        SysConfig practiceApplyStartTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_START_TIME);
+        SysConfig practiceApplyEndTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_END_TIME);
+        SysConfig practiceApplyIntervalTimeConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_APPLY_INTERVAL_TIME);
+        String enableStartTimeStr = practiceApplyStartTimeConfig.getParanValue();
+        String enableEndTimeStr = practiceApplyEndTimeConfig.getParanValue();
+        Integer practiceApplyIntervalMinutes = practiceApplyIntervalTimeConfig.getParanValue(Integer.class);
+        LocalTime dayStartTime=LocalTime.parse("00:00:00",DateUtil.timeFormatter);
+        LocalTime dayEndTime=LocalTime.parse("00:00:00",DateUtil.timeFormatter);
+        List<String> dayApplyTimes=new ArrayList<>();
+        while (true){
+            dayApplyTimes.add(dayStartTime.format(DateUtil.timeFormatter));
+            dayStartTime=dayStartTime.plusMinutes(practiceApplyIntervalMinutes);
+            if(dayStartTime.compareTo(dayEndTime)==0){
+                break;
+            }
+        }
+
+        while (!calendar.getTime().after(endDay)) {
+            calendar.add(Calendar.DATE, 1);
+            calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(enableStartTimeStr.split(":")[0]));
+            calendar.set(Calendar.MINUTE, Integer.valueOf(enableStartTimeStr.split(":")[1]));
+            Date enableApplyDayStartTime = calendar.getTime();
+            calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(enableEndTimeStr.split(":")[0]));
+            calendar.set(Calendar.MINUTE, Integer.valueOf(enableEndTimeStr.split(":")[1]));
+            Date enableApplyDayEndTime = calendar.getTime();
+            Calendar applyStartCalendar = Calendar.getInstance();
+            applyStartCalendar.setTime(enableApplyDayStartTime);
+            for (String applyDayTime : dayApplyTimes) {
+                String temp = DateUtil.dateToString(applyStartCalendar.getTime(), "yyyy-MM-dd");
+                temp = temp + " " + applyDayTime;
+                result.add(DateUtil.stringToDate(temp, "yyyy-MM-dd HH:mm:ss"));
+            }
+        }
+        return result;
+    }
+
+    @Override
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     public Map practiceApply(PracticeGroup practiceGroup) {
         if (Objects.isNull(practiceGroup.getUserId())) {