5
0

4 Ревизии c330dc11ad ... c4e2ec48c2

Автор SHA1 Съобщение Дата
  大数据与最优化研究所 c4e2ec48c2 Merge branch 'pre' преди 3 месеца
  大数据与最优化研究所 130e464c5b 上传文件格式限制放宽到wps相关格式MIME类型扩展 преди 3 месеца
  大数据与最优化研究所 cbd8aff925 上传文件格式限制放宽 преди 3 месеца
  大数据与最优化研究所 c35d6e1b24 /schedule/schedule/course-table 课表接口(PC端),日期范围特殊处理,时间范围最后一天精度过于高的 преди 3 месеца

+ 1 - 1
Makefile

@@ -5,7 +5,7 @@ merge-pre:
 	git checkout pre;git merge dev;git push;git checkout dev;
 
 create-tag:
-	git checkout master;git tag v5.2.8;git push origin --tags;git checkout dev;
+	git checkout master;git tag v5.3.0;git push origin --tags;git checkout dev;
 
 remove-tag:
 	git tag -d v1.2.0;git push origin :refs/tags/v1.1.8;

+ 31 - 2
src/main/java/com/xjrsoft/config/FileCheckRuleConfig.java

@@ -58,7 +58,11 @@ public final class FileCheckRuleConfig {
      * 文档规则
      */
     public static final FileCheckRuleConfig DOCUMENT = builder()
-            .withExtensions("pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt")
+            .withExtensions(
+                    "pdf", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt",
+                    // WPS 文件扩展名
+                    "wps", "et", "dps", "wpt", "ett", "dpt", "vsd", "vsdx"
+            )
             .withMimeTypes(
                     "application/pdf",
                     "application/msword",
@@ -67,9 +71,34 @@ public final class FileCheckRuleConfig {
                     "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                     "application/vnd.ms-powerpoint",
                     "application/vnd.openxmlformats-officedocument.presentationml.presentation",
-                    "text/plain"
+                    "text/plain",
+                    // WPS MIME 类型
+                    "application/vnd.ms-works",
+                    "application/wps-office.wps",
+                    "application/wps-office.et",
+                    "application/wps-office.dps",
+                    "application/wps-office.wpt",
+                    "application/wps-office.ett",
+                    "application/wps-office.dpt",
+                    // 其他可能的 MIME 类型
+                    "application/octet-stream", // 某些 WPS 文件可能被识别为此类型
+                    "application/x-msdownload"
             )
             .build();
+//    /**
+//     * 特殊文件类型规则
+//     */
+//    public static final FileCheckRuleConfig SPECIAL = builder()
+//            .withExtensions("mp4", "mov", "avi", "wmv", "flv", "mkv")
+//            .withMimeTypes(
+//                    "video/mp4",
+//                    "video/quicktime",
+//                    "video/x-msvideo",
+//                    "video/x-ms-wmv",
+//                    "video/x-flv",
+//                    "video/x-matroska"
+//            )
+//            .build();
     /* ========== 组合类型规则 ========== */
     /**
      * 媒体规则(图片+视频)

+ 12 - 11
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -249,24 +249,25 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
                     throw new MyException("周数必须在1到" + totalWeeks + "之间");
                 }
 
-                LocalDate semesterStartDate = baseSemester.getTeachingStart().toInstant()
+                LocalDateTime semesterStartDateTime = baseSemester.getTeachingStart().toInstant()
                         .atZone(ZoneId.systemDefault())
-                        .toLocalDate();
+                        .toLocalDateTime();
 
-                LocalDate weekStartDate = semesterStartDate
+                LocalDateTime weekStartDateTime = semesterStartDateTime
                         .plusWeeks(weekNumber - 1)
-                        .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
+                        .toLocalDate()
+                        .with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))
+                        .atStartOfDay();
 
-                LocalDate weekEndDate = weekStartDate.plusDays(6);
+                LocalDateTime weekEndDateTime = weekStartDateTime.plusDays(6)
+                        .with(LocalTime.MAX);
 
-                dto.setStartDate(weekStartDate); // 如果需要LocalDateTime,在这里转换
-                dto.setEndDate(weekEndDate);
+                dto.setStartDate(weekStartDateTime);
+                dto.setEndDate(weekEndDateTime);
                 tableVo.setWeek("第" + weekNumber + "周");
-                tableVo.setStartDate(weekStartDate); // 直接使用LocalDate
-                tableVo.setEndDate(weekEndDate);     // 直接使用LocalDate
                 tableVo.setWeek("第" + weekNumber + "周");
-                tableVo.setStartDate(weekStartDate);
-                tableVo.setEndDate(weekEndDate);
+                tableVo.setStartDate(weekStartDateTime.toLocalDate());
+                tableVo.setEndDate(weekEndDateTime.toLocalDate());
             }
         }
         if (!StrUtil.isEmpty(dto.getTeacherName())) {

+ 2 - 2
src/main/java/com/xjrsoft/module/schedule/dto/CourseTableDto.java

@@ -51,9 +51,9 @@ public class CourseTableDto implements Serializable {
     private Long studentId;
 
     @ApiModelProperty("开始时间")
-    private LocalDate startDate;
+    private LocalDateTime startDate;
     @ApiModelProperty("结束时间")
-    private LocalDate endDate;
+    private LocalDateTime endDate;
 
     @ApiModelProperty("当前日期")
     private LocalDateTime toDay;

+ 1 - 1
src/main/resources/mapper/courseTable/CourseTable.xml

@@ -33,7 +33,7 @@
         </if>
         <if test="dto.startDate != null and dto.endDate != null">
             and t1.schedule_date >= #{dto.startDate}
-            and t1.schedule_date &lt;= #{dto.endDate}
+            and t1.schedule_date &lt;= DATE(DATE_SUB(#{dto.endDate}, INTERVAL 1 MICROSECOND))
         </if>
         <if test="dto.toDay != null">
             and t1.schedule_date = #{dto.toDay}