Переглянути джерело

1、课表organ_id_字段初始化;
2、课表列表去除团体名和班级名,搜索更改为按团体编号/课程编号/课程名搜索
3、修复对外课程无部门编号
4、节假日获取方式调整

Joburgess 5 роки тому
батько
коміт
7d6d6b4807

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysConfigService.java

@@ -185,6 +185,8 @@ public interface SysConfigService extends BaseService<Long, SysConfig> {
      */
     String EDU_TEACHER_BASE_URL = "edu_teacher_base_url";
 
+    String HOLIDAY_SETTING = "holiday_setting";
+
     /**
      * @return com.ym.mec.biz.dal.entity.SysConfig
      * @params paramName

+ 26 - 36
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -453,19 +453,17 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
 				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<>();
+                Set<String> holidayDays = new HashSet<>();
+
 				if (highClassGroup.getHoliday()) {
-					holiday = jiaRiFeignService.query(now.getYear());
-					holidayDays = holiday.get(now.getYear());
+                    SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+                    if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+                        holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+                    }
 				}
 
 				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")))) {
+					if (highClassGroup.getHoliday() && holidayDays.contains(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))) {
 						now = now.plusDays(1);
 						continue;
 					}
@@ -1441,21 +1439,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<>();
+        Set<String> holidayDays = new HashSet<>();
+
         if (classGroup4MixDto.getHoliday()) {
-            holiday = jiaRiFeignService.query(now.getYear());
-            holidayDays = holiday.get(now.getYear());
+            SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+            if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+                holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+            }
         }
         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("MMdd")))) {
+            if (classGroup4MixDto.getHoliday() && holidayDays.contains(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))) {
                 now = now.plusDays(1);
                 continue;
             }
@@ -1735,21 +1731,18 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<CourseSchedule> courseScheduleList = new ArrayList<>();
 
         int times = 0;
-        Map<String, Integer> holidayDays = new HashMap<>();
-        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+        Set<String> holidayDays = new HashSet<>();
         if (classGroup4MixDto.getHoliday()) {
-            holiday = jiaRiFeignService.query(now.getYear());
-            holidayDays = holiday.get(now.getYear());
+            SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+            if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+                holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+            }
         }
         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("MMdd")))) {
+            if (classGroup4MixDto.getHoliday() && holidayDays.contains(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))) {
                 now = now.plusDays(1);
                 continue;
             }
@@ -2005,21 +1998,18 @@ 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<>();
+        Set<String> holidayDays = new HashSet<>();
         if (classGroup4MixDto.getHoliday()) {
-            holiday = jiaRiFeignService.query(now.getYear());
-            holidayDays = holiday.get(now.getYear());
+            SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+            if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+                holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+            }
         }
         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("MMdd")))) {
+            if (classGroup4MixDto.getHoliday() && holidayDays.contains(now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")))) {
                 now = now.plusDays(1);
                 continue;
             }

+ 41 - 72
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -396,22 +396,18 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<CourseScheduleTeacherSalary>();
 		List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<CourseScheduleStudentPayment>();
 		List<TeacherAttendance> teacherAttendances = new ArrayList<TeacherAttendance>();
-		Map<String, Integer> holidayDays = new HashMap<>();
+		Set<String> holidayDays = new HashSet<>();
 		if (isJumpHoliday) {
-			try {
-		        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
-				holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-				holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-
-			} catch (Exception e) {
-				throw new BizException("获取节假日失败",e);
+			SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+			if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+				holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
 			}
 		}
 		calendar.setTime(startDate);
 
 		int currentCourseTimes = 0;
 		while (coursesTimes != currentCourseTimes) {
-            if (holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
+            if (holidayDays.contains(DateUtil.format(calendar.getTime(), "yyyy-MM-dd"))) {
                 calendar.add(Calendar.DATE, 1);
                 continue;
             }
@@ -1971,25 +1967,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         calendar.setTime(courseCreateStartTime);
         List<Date> courseStartDates = new ArrayList<>();
 
-        Map<String, Integer> holidayDays = new HashMap<>();
-        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+		Set<String> holidayDays = new HashSet<>();
 
-        try {
-            if (vipGroupCourseAdjustInfo.isHoliday()) {
-                holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-            }
-        } catch (DecodeException e) {
-            LOGGER.error("节假日解析错误");
-            vipGroupCourseAdjustInfo.setHoliday(false);
-        }
+		if (vipGroupCourseAdjustInfo.isHoliday()) {
+			SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+			if(StringUtils.isNotBlank(holidaySetting.getParanValue())){
+				holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+			}
+		}
 
         while (true) {
-            if (vipGroupCourseAdjustInfo.isHoliday() && !holiday.containsKey(calendar.get(Calendar.YEAR))) {
-                holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-            }
-            if (vipGroupCourseAdjustInfo.isHoliday() && holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
+            if (vipGroupCourseAdjustInfo.isHoliday() && holidayDays.contains(DateUtil.format(calendar.getTime(), "yyyy-MM-dd"))) {
                 calendar.add(Calendar.DATE, 1);
                 continue;
             }
@@ -2133,8 +2121,14 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(coursePostPoneInfo.getRecoveryDate());
 
-        Map<String, Integer> holidayDays = new HashMap<>();
-        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+		Set<String> holidayDays = new HashSet<>();
+
+		if (coursePostPoneInfo.isSkipHoliday()) {
+			SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+			if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+				holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+			}
+		}
 
         classGroupCourseSchedulesWithDate.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
 
@@ -2151,17 +2145,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 
             calendar.setTime(courseSchedule.getClassDate());
             calendar.add(Calendar.DATE, betweenDays);
-            try {
-                if (coursePostPoneInfo.isSkipHoliday() && !holiday.containsKey(calendar.get(Calendar.YEAR))) {
-                    holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                    holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-                }
-            } catch (Exception e) {
-                LOGGER.error("节假日解析错误");
-                coursePostPoneInfo.setSkipHoliday(false);
-            }
 
-            if (coursePostPoneInfo.isSkipHoliday() && holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
+            if (coursePostPoneInfo.isSkipHoliday() && holidayDays.contains(DateUtil.format(calendar.getTime(), "yyyy-MM-dd"))) {
                 betweenDays=betweenDays+7;
                 calendar.add(Calendar.DATE, betweenDays);
                 i=i-1;
@@ -2219,27 +2204,19 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(courseCreateStartTime);
 
-        Map<String, Integer> holidayDays = new HashMap<>();
-        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+		Set<String> holidayDays = new HashSet<>();
 
-        try {
-            if (vipGroupCourseAdjustInfo.isHoliday()) {
-                holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-            }
-        } catch (DecodeException e) {
-            LOGGER.error("节假日解析错误");
-            vipGroupCourseAdjustInfo.setHoliday(false);
-        }
+		if (vipGroupCourseAdjustInfo.isHoliday()) {
+			SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+			if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+				holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+			}
+		}
 
         List<CourseSchedule> courseSchedules = new ArrayList<>();
 
         while (true) {
-            if (vipGroupCourseAdjustInfo.isHoliday() && !holiday.containsKey(calendar.get(Calendar.YEAR))) {
-                holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-            }
-            if (vipGroupCourseAdjustInfo.isHoliday() && holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
+            if (vipGroupCourseAdjustInfo.isHoliday() && holidayDays.contains(DateUtil.format(calendar.getTime(), "yyyy-MM-dd"))) {
                 calendar.add(Calendar.DATE, 1);
                 continue;
             }
@@ -3604,31 +3581,23 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(courseGenerateInfo.getCourseCreateStartTime());
 
-        Map<String, Integer> holidayDays = new HashMap<>();
-        Map<Integer, Map<String, Integer>> holiday = new HashMap<>();
+        Set<String> holidayDays = new HashSet<>();
 
-        try {
-            if (courseGenerateInfo.isSkipHoliday()) {
-                holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-            }
-        } catch (DecodeException e) {
-            LOGGER.error("节假日解析错误");
-            courseGenerateInfo.setSkipHoliday(false);
-        }
+		if (courseGenerateInfo.isSkipHoliday()) {
+			SysConfig holidaySetting = sysConfigService.findByParamName(SysConfigService.HOLIDAY_SETTING);
+			if(Objects.nonNull(holidaySetting)&&StringUtils.isNotBlank(holidaySetting.getParanValue())){
+				holidayDays = new HashSet<>(JSON.parseArray(holidaySetting.getParanValue(), String.class));
+			}
+		}
 
         List<CourseSchedule> courseSchedules = new ArrayList<>();
         Date now=new Date();
 
         while (true) {
-            if (courseGenerateInfo.isSkipHoliday() && !holiday.containsKey(calendar.get(Calendar.YEAR))) {
-                holiday = jiaRiFeignService.query(calendar.get(Calendar.YEAR));
-                holidayDays = holiday.get(calendar.get(Calendar.YEAR));
-            }
-            if (courseGenerateInfo.isSkipHoliday() && holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
-                calendar.add(Calendar.DATE, 1);
-                continue;
-            }
+			if (courseGenerateInfo.isSkipHoliday() && holidayDays.contains(DateUtil.format(calendar.getTime(), "yyyy-MM-dd"))) {
+				calendar.add(Calendar.DATE, 1);
+				continue;
+			}
             int i = calendar.get(Calendar.DAY_OF_WEEK);
             if (i == 1) {
                 i = 7;