Browse Source

Merge branch 'pre'

dzx 1 year ago
parent
commit
b5603991a2

+ 6 - 2
src/main/java/com/xjrsoft/common/interceptor/RateLimitInterceptor.java

@@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.enums.RoleEnum;
 import com.xjrsoft.common.utils.RedisUtil;
+import com.xjrsoft.config.RateLimitConfig;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.HandlerInterceptor;
@@ -19,11 +20,14 @@ public class RateLimitInterceptor implements HandlerInterceptor {
     @Autowired
     private RedisUtil redisUtil;
 
+    @Autowired
+    private RateLimitConfig rateLimitConfig;
+
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        if (isLimiting()) {
+        if (rateLimitConfig.isEnabled() && isLimiting()) {
             // 暂停5秒
-            Thread.sleep(5000);
+            Thread.sleep(rateLimitConfig.getTimeout());
             System.out.println("触发限流");
         }
         return true;

+ 19 - 0
src/main/java/com/xjrsoft/config/RateLimitConfig.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Data
+@Component
+@ConfigurationProperties("xjrsoft.ratelimit")
+public class RateLimitConfig {
+    /**
+     * 是否开启
+     */
+    private boolean enabled;
+    /**
+     * 限流时间(秒)
+     */
+    private int timeout;
+}

+ 33 - 32
src/main/java/com/xjrsoft/module/courseTable/service/impl/CourseTableServiceImpl.java

@@ -488,38 +488,39 @@ public class CourseTableServiceImpl extends ServiceImpl<CourseTableMapper, Cours
             if (timePeriodListMap != null) {
                 List<CourseDetailVo> courseDetailVoList = timePeriodListMap.get(classTime.getNumber());
                 if (courseDetailVoList != null) {
-                    Map<Integer, CourseDetailVo> courseDetailVoByWeeksMap = courseDetailVoList.stream()
-                            .collect(Collectors.toMap(CourseDetailVo::getWeeks, item -> item));
-
-                    for (int i = 1; i <= 7; i++) {
-                        CourseDetailVo courseDetailVo = courseDetailVoByWeeksMap.get(i);
-                        if (courseDetailVo != null) {
-                            String courseInfo = courseDetailVo.getCourseName() + "\n" +
-                                    courseDetailVo.getTeacherName() + "\n" +
-                                    courseDetailVo.getClassName() + "\n" +
-                                    courseDetailVo.getClassroomName() + "\n";
-                            switch (i) {
-                                case 1:
-                                    scheduleWeekExportQueryVo.setMonday(courseInfo);
-                                    break;
-                                case 2:
-                                    scheduleWeekExportQueryVo.setTuesday(courseInfo);
-                                    break;
-                                case 3:
-                                    scheduleWeekExportQueryVo.setWednesday(courseInfo);
-                                    break;
-                                case 4:
-                                    scheduleWeekExportQueryVo.setThursday(courseInfo);
-                                    break;
-                                case 5:
-                                    scheduleWeekExportQueryVo.setFriday(courseInfo);
-                                    break;
-                                case 6:
-                                    scheduleWeekExportQueryVo.setSaturday(courseInfo);
-                                    break;
-                                case 7:
-                                    scheduleWeekExportQueryVo.setSunday(courseInfo);
-                                    break;
+                    for (CourseDetailVo courseDetailVo : courseDetailVoList) {
+                        for (int i = 1; i <= 7; i++) {
+                            if(courseDetailVo.getWeeks() != i){
+                                continue;
+                            }
+                            if (courseDetailVo != null) {
+                                String courseInfo = courseDetailVo.getCourseName() + "\n" +
+                                        courseDetailVo.getTeacherName() + "\n" +
+                                        courseDetailVo.getClassName() + "\n" +
+                                        courseDetailVo.getClassroomName() + "\n";
+                                switch (i) {
+                                    case 1:
+                                        scheduleWeekExportQueryVo.setMonday(courseInfo);
+                                        break;
+                                    case 2:
+                                        scheduleWeekExportQueryVo.setTuesday(courseInfo);
+                                        break;
+                                    case 3:
+                                        scheduleWeekExportQueryVo.setWednesday(courseInfo);
+                                        break;
+                                    case 4:
+                                        scheduleWeekExportQueryVo.setThursday(courseInfo);
+                                        break;
+                                    case 5:
+                                        scheduleWeekExportQueryVo.setFriday(courseInfo);
+                                        break;
+                                    case 6:
+                                        scheduleWeekExportQueryVo.setSaturday(courseInfo);
+                                        break;
+                                    case 7:
+                                        scheduleWeekExportQueryVo.setSunday(courseInfo);
+                                        break;
+                                }
                             }
                         }
                     }

+ 3 - 0
src/main/java/com/xjrsoft/module/hikvision/entity/HikvisionData.java

@@ -52,4 +52,7 @@ public class HikvisionData implements Serializable {
     @ApiModelProperty("对应的海康威视系统的id")
     private String hikvisionId;
 
+    @ApiModelProperty("发送数据")
+    private String sendData;
+
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/oa/vo/NewsVo.java

@@ -57,6 +57,9 @@ public class NewsVo {
     @ApiModelProperty("浏览量")
     private Integer pv;
 
+    @ApiModelProperty("状态 1=未发布 2=已发布 3=下架")
+    private Integer status;
+
     @ApiModelProperty("发布时间")
     private LocalDateTime releaseTime;
 

+ 3 - 0
src/main/java/com/xjrsoft/module/room/dto/WfRoomStayOvernightPageDto.java

@@ -6,6 +6,7 @@ import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDate;
 
@@ -53,6 +54,7 @@ public class WfRoomStayOvernightPageDto extends PageInput {
      */
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty("开始时间")
     private LocalDate startTime;
     /**
@@ -60,6 +62,7 @@ public class WfRoomStayOvernightPageDto extends PageInput {
      */
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty("结束时间")
     private LocalDate endTime;
 }

+ 5 - 0
src/main/resources/application-dev.yml

@@ -58,6 +58,11 @@ mqtt:
   qos: 1
 
 xjrsoft:
+  # 学生限流配置
+  ratelimit:
+    enabled: false #是否开启限流
+    timeout: 5000 #限流时间(秒)
+  #  短信验证码  有效期 单位分钟
   oss:
     #enabled: true
     cloud-type: minio

+ 4 - 0
src/main/resources/application-pre.yml

@@ -43,6 +43,10 @@ mqtt:
   qos: 1
 
 xjrsoft:
+  # 学生限流配置
+  ratelimit:
+    enabled: false #是否开启限流
+    timeout: 5000 #限流时间(秒)
   oss:
     #enabled: true
     cloud-type: minio

+ 4 - 0
src/main/resources/application-prod.yml

@@ -42,6 +42,10 @@ mqtt:
 
 
 xjrsoft:
+  # 学生限流配置
+  ratelimit:
+    enabled: false #是否开启限流
+    timeout: 5000 #限流时间(秒)
   oss:
     #enabled: true
     cloud-type: minio