Browse Source

合并历史:迁移自 Coding.net

liu 1 day ago
parent
commit
4c2d008a55
36 changed files with 275 additions and 51 deletions
  1. 28 0
      src/main/java/com/chuanghai/student_portrait/annotation/PassToken.java
  2. 4 4
      src/main/java/com/chuanghai/student_portrait/config/BaseClass.java
  3. 1 1
      src/main/java/com/chuanghai/student_portrait/config/JedisUtil.java
  4. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/AffinityScoreController.java
  5. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/AirConditioningController.java
  6. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/CapacityController.java
  7. 8 1
      src/main/java/com/chuanghai/student_portrait/controller/ConsumeController.java
  8. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/CountController.java
  9. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/FaceDiscernController.java
  10. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/ForeWarningReportFormController.java
  11. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/ForewarningController.java
  12. 4 4
      src/main/java/com/chuanghai/student_portrait/controller/GetSchoolUserController.java
  13. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/HotWaterController.java
  14. 3 1
      src/main/java/com/chuanghai/student_portrait/controller/LoginController.java
  15. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/NewSchooluserController.java
  16. 2 0
      src/main/java/com/chuanghai/student_portrait/controller/ReceiveController.java
  17. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/StructOfPeopleInSchoolController.java
  18. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/TbCourseSchedulingController.java
  19. 1 1
      src/main/java/com/chuanghai/student_portrait/controller/TbCourseSelectionController.java
  20. 107 0
      src/main/java/com/chuanghai/student_portrait/cron/JwtAuthenticationInterceptor.java
  21. 25 0
      src/main/java/com/chuanghai/student_portrait/cron/JwtlnterceptorConfig.java
  22. 3 1
      src/main/java/com/chuanghai/student_portrait/response/enums/StatusEnum.java
  23. 2 0
      src/main/java/com/chuanghai/student_portrait/service/ConsumeService.java
  24. 9 1
      src/main/java/com/chuanghai/student_portrait/service/impl/ConsumeServicelmpl.java
  25. 16 9
      src/main/java/com/chuanghai/student_portrait/service/impl/DormServiceImpl.java
  26. 2 2
      src/main/java/com/chuanghai/student_portrait/service/impl/FaceDiscernServiceImpl.java
  27. 3 4
      src/main/java/com/chuanghai/student_portrait/service/impl/LoginServiceImpl.java
  28. 19 3
      src/main/java/com/chuanghai/student_portrait/service/impl/NewSchooluserServiceImpl.java
  29. 1 1
      src/main/java/com/chuanghai/student_portrait/service/impl/OldSchooluserServiceImpl.java
  30. 13 0
      src/main/java/com/chuanghai/student_portrait/utils/Md5Utils.java
  31. 3 3
      src/main/resources/application.yml
  32. 3 3
      target/classes/application.yml
  33. 1 1
      target/maven-archiver/pom.properties
  34. 3 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  35. 3 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  36. BIN
      target/student_portrait-0.0.1-SNAPSHOT.jar.original

+ 28 - 0
src/main/java/com/chuanghai/student_portrait/annotation/PassToken.java

@@ -0,0 +1,28 @@
+package com.chuanghai.student_portrait.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/** 说明
+ * 在方法上加入本注解 即可接口拦截
+ * @interface:代表当前类是注解
+ * @Target:描述当前的注解可以定义在扫描资源上。
+ * 属性value:
+ *     定义具体的资源。包括:
+ *     ElementType.METHOD:可以定义在方法上
+ *     ElementType.TYPE:可以定义在类上
+ *     ElementType.FIELD:可以定义在属性上
+ *     ElementType.PARAMETER:可以定义在方法参数上
+ * @Retention:当前注解在什么时候有效
+ *     定义具体的生效标记
+ *     RetentionPolicy.RUNTIME:运行时有效
+ *     RetentionPolicy.SOURCE:源码中有效
+ *     RetentionPolicy.CLASS:字节码有效
+ *///说明 该注解要加在控制器中的方法上才会生效 加在api中无法生效
+@Target(value = {ElementType.METHOD, ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface PassToken {
+    boolean requeired() default true;
+}

+ 4 - 4
src/main/java/com/chuanghai/student_portrait/config/BaseClass.java

@@ -85,7 +85,7 @@ public class BaseClass {
         Map<String, String> headinfo = getHeadInfo();
         Map<String, String> headinfo = getHeadInfo();
 
 
         //如果有鉴权信息则放入报文头中
         //如果有鉴权信息则放入报文头中
-        if (Authorization.indexOf("response") > 0) {
+        if (Authorization != null && Authorization.indexOf("response") > 0) {
             headinfo.put("Authorization", Authorization);
             headinfo.put("Authorization", Authorization);
         }
         }
 
 
@@ -126,7 +126,7 @@ public class BaseClass {
         Map<String, String> headinfo = getHeadInfo();
         Map<String, String> headinfo = getHeadInfo();
 
 
         //如果有鉴权信息则放入报文头中
         //如果有鉴权信息则放入报文头中
-        if (Authorization.indexOf("response") > 0) {
+        if (Authorization != null && Authorization.indexOf("response") > 0) {
             headinfo.put("Authorization", Authorization);
             headinfo.put("Authorization", Authorization);
         }
         }
 
 
@@ -174,7 +174,7 @@ public class BaseClass {
         Map<String, String> headinfo = getHeadInfo();
         Map<String, String> headinfo = getHeadInfo();
 
 
         //如果有鉴权信息则放入报文头中
         //如果有鉴权信息则放入报文头中
-        if (Authorization.indexOf("response") > 0) {
+        if (Authorization != null && Authorization.indexOf("response") > 0) {
             headinfo.put("Authorization", Authorization);
             headinfo.put("Authorization", Authorization);
         }
         }
 
 
@@ -206,7 +206,7 @@ public class BaseClass {
         Map<String, String> headinfo = getHeadInfo();
         Map<String, String> headinfo = getHeadInfo();
 
 
         //如果有鉴权信息则放入报文头中
         //如果有鉴权信息则放入报文头中
-        if (Authorization.indexOf("response") > 0) {
+        if (Authorization != null && Authorization.indexOf("response") > 0) {
             headinfo.put("Authorization", Authorization);
             headinfo.put("Authorization", Authorization);
         }
         }
 
 

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/config/JedisUtil.java

@@ -23,7 +23,7 @@ public class JedisUtil {
         //本机地址,端口号
         //本机地址,端口号
         Jedis jedis=new Jedis("127.0.0.1",6379);
         Jedis jedis=new Jedis("127.0.0.1",6379);
         //认证密码
         //认证密码
-        jedis.auth("chuanghai_2023.");
+//        jedis.auth("chuanghai_2023.");
         return jedis;
         return jedis;
     }
     }
     //获取一个jedis连接
     //获取一个jedis连接

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/AffinityScoreController.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
 @RestController
-@RequestMapping("/affinityScore")
+@RequestMapping("/api/affinityScore")
 public class AffinityScoreController {
 public class AffinityScoreController {
     @Autowired
     @Autowired
     AffinityScoreService affinityScoreService;
     AffinityScoreService affinityScoreService;

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/AirConditioningController.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @Version 1.0
  * @Version 1.0
  */
  */
 @RestController
 @RestController
-@RequestMapping("/airConditioning")
+@RequestMapping("/api/airConditioning")
 public class AirConditioningController {
 public class AirConditioningController {
     @Autowired
     @Autowired
     AirConditioningService airConditioningService;
     AirConditioningService airConditioningService;

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/CapacityController.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
 @RestController
-@RequestMapping("/capacity")
+@RequestMapping("/api/capacity")
 public class CapacityController {
 public class CapacityController {
     @Autowired
     @Autowired
     CapacityService capacityService;
     CapacityService capacityService;

+ 8 - 1
src/main/java/com/chuanghai/student_portrait/controller/ConsumeController.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 /**
 /**
@@ -14,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @Version 1.0
  * @Version 1.0
  */
  */
 @RestController
 @RestController
-@RequestMapping("/consume")
+@RequestMapping("/api/consume")
 public class  ConsumeController {
 public class  ConsumeController {
 
 
     @Autowired
     @Autowired
@@ -37,4 +38,10 @@ public class  ConsumeController {
     public BaseResponse personConsum(String id,String startTime,String endTime){
     public BaseResponse personConsum(String id,String startTime,String endTime){
         return consumeService.personConsum(id,startTime,endTime);
         return consumeService.personConsum(id,startTime,endTime);
     }
     }
+
+    @GetMapping("/getPosDetail")
+    @ApiOperation(value = "查询档口排名,idCard为学生的id标识,不填默认查询全校所有人的")
+    public BaseResponse getPosDetail(@RequestParam String time){
+       return consumeService.getPosDetail(time);
+    }
 }
 }

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/CountController.java

@@ -29,7 +29,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.*;
 
 
 @RestController
 @RestController
-@RequestMapping
+@RequestMapping("/api")
 public class CountController {
 public class CountController {
 
 
     @Autowired
     @Autowired

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/FaceDiscernController.java

@@ -22,7 +22,7 @@ import java.io.UnsupportedEncodingException;
  * @Version 1.0
  * @Version 1.0
  */
  */
 @RestController
 @RestController
-@RequestMapping("/access")
+@RequestMapping("/api/access")
 @Slf4j
 @Slf4j
 public class FaceDiscernController {
 public class FaceDiscernController {
 
 

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/ForeWarningReportFormController.java

@@ -19,7 +19,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 @RestController
 @RestController
-@RequestMapping
+@RequestMapping("/api")
 public class ForeWarningReportFormController {
 public class ForeWarningReportFormController {
     @Autowired
     @Autowired
     ForewarningService forewarningService;
     ForewarningService forewarningService;

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/ForewarningController.java

@@ -10,7 +10,7 @@ import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 @RestController
 @RestController
-@RequestMapping("/forewarning")
+@RequestMapping("/api/forewarning")
 public class ForewarningController {
 public class ForewarningController {
     @Autowired
     @Autowired
     ForewarningService forewarningService;
     ForewarningService forewarningService;

+ 4 - 4
src/main/java/com/chuanghai/student_portrait/controller/GetSchoolUserController.java

@@ -32,7 +32,7 @@ import java.util.*;
  * @Version 1.0
  * @Version 1.0
  */
  */
 @RestController
 @RestController
-@RequestMapping("/warning")
+@RequestMapping("/api/warning")
 public class GetSchoolUserController {
 public class GetSchoolUserController {
 
 
     @Autowired
     @Autowired
@@ -236,18 +236,18 @@ public class GetSchoolUserController {
             }
             }
         }
         }
         boolean b = oldSchooluserService.saveBatch(addOldSchoolUsers);
         boolean b = oldSchooluserService.saveBatch(addOldSchoolUsers);
-//        oldSchooluserService.updateBatchById(updatOldSchoolUsers);
+        oldSchooluserService.updateBatchById(updatOldSchoolUsers);
         return b;
         return b;
 //        return JSONObject.parseObject(body,Map.class);
 //        return JSONObject.parseObject(body,Map.class);
     }
     }
 
 
  //    定时获取微校数据
  //    定时获取微校数据
 //
 //
-//    Integer i = 0;
+    Integer i = 0;
 
 
     //
     //
 //    @Scheduled(cron = "0 0/1 * * * ? ")
 //    @Scheduled(cron = "0 0/1 * * * ? ")
-//    @Scheduled(cron = "0 47 15 * * ? ")
+//    @Scheduled(cron = "0 1 12 * * ? ")
     public void getSchoolUser() {
     public void getSchoolUser() {
 //        i = i + 1;
 //        i = i + 1;
 //        try {
 //        try {

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/HotWaterController.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
 @RestController
-@RequestMapping("/hotWater")
+@RequestMapping("/api/hotWater")
 public class HotWaterController {
 public class HotWaterController {
 
 
     @Autowired
     @Autowired

+ 3 - 1
src/main/java/com/chuanghai/student_portrait/controller/LoginController.java

@@ -1,5 +1,6 @@
 package com.chuanghai.student_portrait.controller;
 package com.chuanghai.student_portrait.controller;
 
 
+import com.chuanghai.student_portrait.annotation.PassToken;
 import com.chuanghai.student_portrait.entity.dto.UserLoginDTO;
 import com.chuanghai.student_portrait.entity.dto.UserLoginDTO;
 import com.chuanghai.student_portrait.response.BaseResponse;
 import com.chuanghai.student_portrait.response.BaseResponse;
 import com.chuanghai.student_portrait.service.LoginService;
 import com.chuanghai.student_portrait.service.LoginService;
@@ -11,12 +12,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
 @RestController
-@RequestMapping
+@RequestMapping("/api")
 public class LoginController {
 public class LoginController {
     @Autowired
     @Autowired
     LoginService loginService;
     LoginService loginService;
 
 
     @PostMapping("/login")
     @PostMapping("/login")
+    @PassToken
     public BaseResponse login(@RequestBody UserLoginDTO userLoginDTO) throws SystemException {
     public BaseResponse login(@RequestBody UserLoginDTO userLoginDTO) throws SystemException {
         return loginService.dengru(userLoginDTO);
         return loginService.dengru(userLoginDTO);
     }
     }

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/NewSchooluserController.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @Version 1.0
  * @Version 1.0
  */
  */
 @RestController
 @RestController
-@RequestMapping("/schoolUser")
+@RequestMapping("/api/schoolUser")
 public class NewSchooluserController {
 public class NewSchooluserController {
 
 
     @Autowired
     @Autowired

+ 2 - 0
src/main/java/com/chuanghai/student_portrait/controller/ReceiveController.java

@@ -3,6 +3,7 @@ package com.chuanghai.student_portrait.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.chuanghai.student_portrait.annotation.PassToken;
 import com.chuanghai.student_portrait.entity.CollegesInfo;
 import com.chuanghai.student_portrait.entity.CollegesInfo;
 import com.chuanghai.student_portrait.entity.NewSchooluser;
 import com.chuanghai.student_portrait.entity.NewSchooluser;
 import com.chuanghai.student_portrait.entity.OldSchooluser;
 import com.chuanghai.student_portrait.entity.OldSchooluser;
@@ -44,6 +45,7 @@ public class ReceiveController {
     NewSchooluserService newSchooluserService;
     NewSchooluserService newSchooluserService;
 
 
     @PostMapping("/push")
     @PostMapping("/push")
+    @PassToken
     public ReturnWXPush getReceive(@RequestBody WeixiaoPushDTO weixiaoPushDTO,HttpServletRequest request) {
     public ReturnWXPush getReceive(@RequestBody WeixiaoPushDTO weixiaoPushDTO,HttpServletRequest request) {
 
 
         LogUtils.logInfo("调用推送接口");
         LogUtils.logInfo("调用推送接口");

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/StructOfPeopleInSchoolController.java

@@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
 @RestController
-@RequestMapping("/struct/of/people/in/school")
+@RequestMapping("/api/struct/of/people/in/school")
 public class StructOfPeopleInSchoolController {
 public class StructOfPeopleInSchoolController {
     @Autowired
     @Autowired
     StructOfPeopleInSchoolService structOfPeopleInSchoolService;
     StructOfPeopleInSchoolService structOfPeopleInSchoolService;

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/TbCourseSchedulingController.java

@@ -26,7 +26,7 @@ import java.util.Map;
  * @since 2024-04-26
  * @since 2024-04-26
  */
  */
 @RestController
 @RestController
-@RequestMapping("/tbCourseScheduling")
+@RequestMapping("/api/tbCourseScheduling")
 public class TbCourseSchedulingController {
 public class TbCourseSchedulingController {
 
 
     @Autowired
     @Autowired

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/controller/TbCourseSelectionController.java

@@ -16,7 +16,7 @@ import java.util.Map;
  * @since 2024-04-26
  * @since 2024-04-26
  */
  */
 @RestController
 @RestController
-@RequestMapping("/auto/tb-course-selection")
+@RequestMapping("/api/auto/tb-course-selection")
 public class TbCourseSelectionController {
 public class TbCourseSelectionController {
     public static void main(String[] args) {
     public static void main(String[] args) {
         Map<String, Integer> dateTime = DateTimeUtil.getDateTime("2024-2-26");
         Map<String, Integer> dateTime = DateTimeUtil.getDateTime("2024-2-26");

+ 107 - 0
src/main/java/com/chuanghai/student_portrait/cron/JwtAuthenticationInterceptor.java

@@ -0,0 +1,107 @@
+package com.chuanghai.student_portrait.cron;
+
+import com.alibaba.fastjson.JSONObject;
+import com.auth0.jwt.interfaces.Claim;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.chuanghai.student_portrait.annotation.PassToken;
+import com.chuanghai.student_portrait.response.BaseResponse;
+import com.chuanghai.student_portrait.response.enums.StatusEnum;
+import com.chuanghai.student_portrait.utils.JWTUtils;
+import org.springframework.util.StringUtils;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+import java.util.Map;
+
+public class JwtAuthenticationInterceptor implements HandlerInterceptor {
+
+    /**
+     * preHandle:进入到控制器方法之前执行的内容
+     *     boolean:
+     *         true:可以继续执行控制器方法
+     *         false:拦截
+     * posthandler:执行控制器方法之后执行的内容
+     * afterCompletion:响应结束之前执行的内容
+     *///说明
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+
+        //region 检查是否有passtoken注释,有则跳过认证
+        //PassToken注解用在方法上面
+        HandlerMethod handlerMethod = (HandlerMethod) handler;
+        Method method = handlerMethod.getMethod();
+        if (method.isAnnotationPresent(PassToken.class)) {
+            PassToken passToken = method.getAnnotation(PassToken.class);
+            if (passToken.requeired()) {
+                return true;
+            }
+        }
+
+
+        //region 获取url传递的参数 Query string传递的参数
+        //获取url参数 getParameter方法里的参数名和定义的参数名一致
+        String token = request.getHeader("token");
+        // 验证userToken
+        if (!StringUtils.hasText(token)) {
+//            throw new Exception(StatusEnum.SYSTEM_TOKEN_ERROR);
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("application/json; charset=utf-8");
+            JSONObject res = new JSONObject();
+            res.put("code", StatusEnum.SYSTEM_TOKEN_ERROR.getStatus());
+            res.put("message", StatusEnum.SYSTEM_TOKEN_ERROR.getDesc());
+            PrintWriter out = null;
+            out = response.getWriter();
+            out.write(res.toString());
+            out.flush();
+            out.close();
+            return false;
+        }
+
+        // 解析token
+        try {
+            Map<String, Claim> stringClaimMap = JWTUtils.verifyToken(token);
+            if (ObjectUtils.isNotEmpty(stringClaimMap)) { // 登录
+                return true;
+            }
+        }catch (Exception e){
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("application/json; charset=utf-8");
+            JSONObject res = new JSONObject();
+            res.put("code", StatusEnum.SYSTEM_LOGIN_ERROR.getStatus());
+            res.put("message", StatusEnum.SYSTEM_LOGIN_ERROR.getDesc());
+            PrintWriter out = null;
+            out = response.getWriter();
+            out.write(res.toString());
+            out.flush();
+            out.close();
+            return false;
+        }
+
+        response.setCharacterEncoding("UTF-8");
+        response.setContentType("application/json; charset=utf-8");
+        JSONObject res = new JSONObject();
+        res.put("code", StatusEnum.SYSTEM_LOGIN_ERROR.getStatus());
+        res.put("message", StatusEnum.SYSTEM_LOGIN_ERROR.getDesc());
+        PrintWriter out = null;
+        out = response.getWriter();
+        out.write(res.toString());
+        out.flush();
+        out.close();
+        return false;
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
+
+    }
+
+    @Override
+    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+
+    }
+}

+ 25 - 0
src/main/java/com/chuanghai/student_portrait/cron/JwtlnterceptorConfig.java

@@ -0,0 +1,25 @@
+package com.chuanghai.student_portrait.cron;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.HandlerInterceptor;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class JwtlnterceptorConfig implements WebMvcConfigurer {
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        //region
+        //目前测试下来 使用 /**所有的话,response.sendError浏览器获取不到响应的信息
+        //默认拦截所有路径
+        registry.addInterceptor(authenticationInterceptor())
+                .addPathPatterns("/api/**");
+        //endregion
+    }
+
+    @Bean
+    public HandlerInterceptor authenticationInterceptor() {
+        return new JwtAuthenticationInterceptor();
+    }
+}

+ 3 - 1
src/main/java/com/chuanghai/student_portrait/response/enums/StatusEnum.java

@@ -10,7 +10,9 @@ public enum StatusEnum implements Code {
     SUCCESS_DELETE(20004, "删除成功"),
     SUCCESS_DELETE(20004, "删除成功"),
     FAIL_DELETE(50004,"删除失败 "),
     FAIL_DELETE(50004,"删除失败 "),
     SUCCESS_SELECT(20005, "查询成功"),
     SUCCESS_SELECT(20005, "查询成功"),
-    FAIL_SELECT(50005,"查询失败 ");
+    FAIL_SELECT(50005,"查询失败 "),
+    SYSTEM_TOKEN_ERROR(601,"token为空"),
+    SYSTEM_LOGIN_ERROR(602,"无效token,请重新登入");
 
 
     private Integer status;
     private Integer status;
     private String desc;
     private String desc;

+ 2 - 0
src/main/java/com/chuanghai/student_portrait/service/ConsumeService.java

@@ -16,4 +16,6 @@ public interface ConsumeService extends IService<Consume> {
 
 
 
 
     BaseResponse personConsum(String id,String startTime,String endTime);
     BaseResponse personConsum(String id,String startTime,String endTime);
+
+    BaseResponse getPosDetail(String time);
 }
 }

+ 9 - 1
src/main/java/com/chuanghai/student_portrait/service/impl/ConsumeServicelmpl.java

@@ -349,6 +349,7 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
                             String consumeAmount = consume1.getConsumeAmount();
                             String consumeAmount = consume1.getConsumeAmount();
                             int money = Integer.parseInt(consumeAmount);
                             int money = Integer.parseInt(consumeAmount);
                             totalMoney = totalMoney + money;
                             totalMoney = totalMoney + money;
+
                         }
                         }
                     }
                     }
                     consumeTotalMoneyDto.setTotalMoney(totalMoney);
                     consumeTotalMoneyDto.setTotalMoney(totalMoney);
@@ -573,6 +574,7 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
 
 
     //    获取食堂消费数据
     //    获取食堂消费数据
 //    新数据在第一页
 //    新数据在第一页
+    @Override
     public BaseResponse getPosDetail(@RequestParam("time") String time) {
     public BaseResponse getPosDetail(@RequestParam("time") String time) {
         String userInfoUrl = "https://open.wecard.qq.com/cgi-bin/pay/provider/v3/order-detail";
         String userInfoUrl = "https://open.wecard.qq.com/cgi-bin/pay/provider/v3/order-detail";
 
 
@@ -757,10 +759,11 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
     }
     }
 
 
 //   专门弄了一个定时任务去调用这个接口
 //   专门弄了一个定时任务去调用这个接口
+    @Scheduled(cron = "0 0/1 * * * ? ")
     public void test() {
     public void test() {
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDate localDate = LocalDate.now();
         LocalDate localDate = LocalDate.now();
-        LocalDate localDateYesterDay = localDate.minusDays(1);
+        LocalDate localDateYesterDay = localDate.minusDays(40);
         String yesterDay = localDateYesterDay.format(dateTimeFormatter);
         String yesterDay = localDateYesterDay.format(dateTimeFormatter);
         bankApi(yesterDay,yesterDay);
         bankApi(yesterDay,yesterDay);
     }
     }
@@ -785,6 +788,11 @@ public class ConsumeServicelmpl extends ServiceImpl<ConsumeMapper, Consume> impl
         String yesterDay = localDateYesterDay.format(dateTimeFormatter);
         String yesterDay = localDateYesterDay.format(dateTimeFormatter);
         System.out.println("yesterDay = " + yesterDay);
         System.out.println("yesterDay = " + yesterDay);
 
 
+        DateUtils dateUtils = new DateUtils();
+        dateUtils.changeDay();
+        String yestarday = dateUtils.getYestarday();
+        System.out.println("yestarday = " + yestarday);
+
     }
     }
 
 
 }
 }

+ 16 - 9
src/main/java/com/chuanghai/student_portrait/service/impl/DormServiceImpl.java

@@ -126,9 +126,9 @@ public class DormServiceImpl extends ServiceImpl<DormMapper, Dorm> implements Do
     }
     }
 
 
     //    获取瑞信水电表设置
     //    获取瑞信水电表设置
-//        @Scheduled(cron = "0 46 * * * ? ")
+//    @Scheduled(cron = "0 22 * * * ? ")
     public void getHouseNumberEquipment() {
     public void getHouseNumberEquipment() {
-        String url = "http://172.16.20.87/api/wechat/main/meterQuery?meterType=2";
+        String url = "http://172.16.20.87/api/wechat/main/meterQuery?meterType=1";
 
 
         RestTemplate restTemplate = new RestTemplate();
         RestTemplate restTemplate = new RestTemplate();
         String forObject = restTemplate.getForObject(url, String.class);
         String forObject = restTemplate.getForObject(url, String.class);
@@ -159,17 +159,24 @@ public class DormServiceImpl extends ServiceImpl<DormMapper, Dorm> implements Do
                     wrapper.eq(Dorm::getDom,dom);
                     wrapper.eq(Dorm::getDom,dom);
                     Dorm one = this.getOne(wrapper);
                     Dorm one = this.getOne(wrapper);
                     if (ObjectUtils.isNotEmpty(one)) {
                     if (ObjectUtils.isNotEmpty(one)) {
-//                        one.setElectricMeterId(meterId);
-//                        one.setElectricRoomId(roomId);
-//                        one.setElectricMeterName(meterName);
-                        one.setWaterMeterId(meterId);
-                        one.setWaterRoomId(roomId);
-                        one.setWaterMeterName(meterName);
+                        one.setElectricMeterId(meterId);
+                        one.setElectricRoomId(roomId);
+                        one.setElectricMeterName(meterName);
+//                        one.setWaterMeterId(meterId);
+//                        one.setWaterRoomId(roomId);
+//                        one.setWaterMeterName(meterName);
                         dorms.add(one);
                         dorms.add(one);
                         this.updateById(one);
                         this.updateById(one);
                     }else {
                     }else {
                         Dorm dorm = new Dorm();
                         Dorm dorm = new Dorm();
-
+                        dorm.setDom(dom);
+//                        dorm.setElectricMeterId(meterId);
+//                        dorm.setElectricRoomId(roomId);
+//                        dorm.setElectricMeterName(meterName);
+//                        dorm.setWaterMeterId(meterId);
+//                        dorm.setWaterRoomId(roomId);
+//                        dorm.setWaterMeterName(meterName);
+//                        this.save(dorm);
                     }
                     }
 
 
                 }
                 }

+ 2 - 2
src/main/java/com/chuanghai/student_portrait/service/impl/FaceDiscernServiceImpl.java

@@ -678,11 +678,11 @@ public class FaceDiscernServiceImpl extends ServiceImpl<FaceDiscernMapper, FaceD
         for (int i = 0; i <= 9; i++) {
         for (int i = 0; i <= 9; i++) {
             if (i < dtoList.size()) {
             if (i < dtoList.size()) {
                 faceDisernDtos.add(dtoList.get(i));
                 faceDisernDtos.add(dtoList.get(i));
-            } else {
+            } /*else {
                 FaceDisernDto faceDisernDto = new FaceDisernDto();
                 FaceDisernDto faceDisernDto = new FaceDisernDto();
                 faceDisernDto.setSchoolUserID(i + 3 + "");
                 faceDisernDto.setSchoolUserID(i + 3 + "");
                 faceDisernDtos.add(faceDisernDto);
                 faceDisernDtos.add(faceDisernDto);
-            }
+            }*/
 
 
         }
         }
         return faceDisernDtos;
         return faceDisernDtos;

+ 3 - 4
src/main/java/com/chuanghai/student_portrait/service/impl/LoginServiceImpl.java

@@ -22,13 +22,12 @@ public class LoginServiceImpl extends ServiceImpl<LoginMapper, LoginUser> implem
         if (ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(passWord)) {
         if (ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(passWord)) {
             return BaseResponse.error(StatusEnum.FAIL, "账号密码不能为空");
             return BaseResponse.error(StatusEnum.FAIL, "账号密码不能为空");
         }
         }
-        String s = Md5Utils.md5One(passWord);
+        String s = Md5Utils.convertMD5(passWord);
         LoginUser one = this.getOne(Wrappers.<LoginUser>lambdaQuery().eq(LoginUser::getUserName, userName));
         LoginUser one = this.getOne(Wrappers.<LoginUser>lambdaQuery().eq(LoginUser::getUserName, userName));
         if (ObjectUtils.isEmpty(one)) {
         if (ObjectUtils.isEmpty(one)) {
-            return BaseResponse.error(StatusEnum.FAIL, "账号密码错误");
+            return BaseResponse.error(StatusEnum.FAIL, "用户不存在");
         }
         }
-        String passWord1 = one.getPassWord();
-        String s1 = Md5Utils.convertMD5(passWord1);
+        String s1 = one.getPassWord();
         if (!s1.equals(s)) {
         if (!s1.equals(s)) {
             return BaseResponse.error(StatusEnum.FAIL, "账号密码错误");
             return BaseResponse.error(StatusEnum.FAIL, "账号密码错误");
         }
         }

+ 19 - 3
src/main/java/com/chuanghai/student_portrait/service/impl/NewSchooluserServiceImpl.java

@@ -127,10 +127,26 @@ public class NewSchooluserServiceImpl extends ServiceImpl<NewSchooluserMapper, N
         schooluser.setHeadImage(headImage);
         schooluser.setHeadImage(headImage);
 //      标签
 //      标签
         BaseResponse oneStudent = capacityService.getOneStudent(id);
         BaseResponse oneStudent = capacityService.getOneStudent(id);
-        Map<String, List<CapacityDto>> data1 = (Map<String, List<CapacityDto>>) oneStudent.getData();
-        List<CapacityDto> average = data1.get("average");
+        Object data = oneStudent.getData();
+        List<CapacityDto> average = new ArrayList<>();
+        List<CapacityDto> list = new ArrayList<>();
+        if (data != null) {
+            // 不管data是HashMap还是JSONObject,统一转为JSON字符串
+            String jsonStr = JSON.toJSONString(data);
+            // 字符串解析成JSONObject
+            JSONObject jsonData = JSON.parseObject(jsonStr);
+            // 先取出对应key的json字符串
+            String avgJson = jsonData.getString("average");
+            String listJson = jsonData.getString("list");
+            // 静态方法 JSON.parseArray
+            average = JSON.parseArray(avgJson, CapacityDto.class);
+            list = JSON.parseArray(listJson, CapacityDto.class);
+        }
+
+//        Map<String, List<CapacityDto>> data1 = (Map<String, List<CapacityDto>>) oneStudent.getData();
+//        List<CapacityDto> average = data1.get("average");
         System.out.println("average = " + average);
         System.out.println("average = " + average);
-        List<CapacityDto> list = data1.get("list");
+//        List<CapacityDto> list = data1.get("list");
 
 
         String label = "";
         String label = "";
 
 

+ 1 - 1
src/main/java/com/chuanghai/student_portrait/service/impl/OldSchooluserServiceImpl.java

@@ -34,7 +34,7 @@ public class OldSchooluserServiceImpl extends ServiceImpl<OldSchooluserMapper, O
 //    Integer i = 0;
 //    Integer i = 0;
 
 
 //    @Scheduled(cron = "0 0/1 * * * ?")
 //    @Scheduled(cron = "0 0/1 * * * ?")
-//    @Scheduled(cron = "0 50 14 * * ? ")
+//    @Scheduled(cron = "0 54 12 * * ? ")
     public void getSchoolUser() {
     public void getSchoolUser() {
         Page<OldSchooluser> page = this.page(new Page<>(1, 1000));
         Page<OldSchooluser> page = this.page(new Page<>(1, 1000));
         long pages = page.getPages();
         long pages = page.getPages();

+ 13 - 0
src/main/java/com/chuanghai/student_portrait/utils/Md5Utils.java

@@ -48,4 +48,17 @@ public class Md5Utils {
         return s;
         return s;
 
 
     }
     }
+
+    public static void main(String[] args) {
+        String s2 = md5One("Chuanghai2024.");
+        System.out.println("s2 = " + s2);
+        String s4 = md5One(s2);
+        System.out.println("s4 = " + s4);
+        String s = convertMD5("Chuanghai2024.");
+        System.out.println("s = " + s);
+        String s1 = convertMD5(s);
+        System.out.println("s1 = " + s1);
+        String s3 = convertMD5("Chuanghai2024.");
+        System.out.println("s3 = " + s3);
+    }
 }
 }

+ 3 - 3
src/main/resources/application.yml

@@ -31,7 +31,7 @@ spring:
           password: chuanghai@2022 #服务器密码
           password: chuanghai@2022 #服务器密码
           url: jdbc:mysql://172.16.20.69:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           url: jdbc:mysql://172.16.20.69:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
 #          password: root #本地密码
 #          password: root #本地密码
- #         url: jdbc:mysql://127.0.0.1:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
+#          url: jdbc:mysql://127.0.0.1:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
           driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
         mysql2:
         mysql2:
           url: jdbc:mysql://172.16.20.45:3306/smartschool_bigdata?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           url: jdbc:mysql://172.16.20.45:3306/smartschool_bigdata?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
@@ -45,8 +45,8 @@ spring:
           driver-class-name: com.mysql.cj.jdbc.Driver
           driver-class-name: com.mysql.cj.jdbc.Driver
         mysql4:
         mysql4:
           url: jdbc:mysql://172.16.20.77:3306/memdb?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           url: jdbc:mysql://172.16.20.77:3306/memdb?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
-          username: getcourse
-          password: UUtfNu3jVQy3ZAp8
+          username: queryUser
+          password: fcBtkT2EwCjiTdc4
           driver-class-name: com.mysql.cj.jdbc.Driver
           driver-class-name: com.mysql.cj.jdbc.Driver
 
 
 
 

+ 3 - 3
target/classes/application.yml

@@ -31,7 +31,7 @@ spring:
           password: chuanghai@2022 #服务器密码
           password: chuanghai@2022 #服务器密码
           url: jdbc:mysql://172.16.20.69:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           url: jdbc:mysql://172.16.20.69:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
 #          password: root #本地密码
 #          password: root #本地密码
- #         url: jdbc:mysql://127.0.0.1:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
+#          url: jdbc:mysql://127.0.0.1:3306/student_portrait?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
           driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
         mysql2:
         mysql2:
           url: jdbc:mysql://172.16.20.45:3306/smartschool_bigdata?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           url: jdbc:mysql://172.16.20.45:3306/smartschool_bigdata?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
@@ -45,8 +45,8 @@ spring:
           driver-class-name: com.mysql.cj.jdbc.Driver
           driver-class-name: com.mysql.cj.jdbc.Driver
         mysql4:
         mysql4:
           url: jdbc:mysql://172.16.20.77:3306/memdb?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
           url: jdbc:mysql://172.16.20.77:3306/memdb?characterEncoding=utf-8&useSSL=FALSE&useAffectedRows=TRUE&allowMultiQueries=true&serverTimezone=GMT%2B8
-          username: getcourse
-          password: UUtfNu3jVQy3ZAp8
+          username: queryUser
+          password: fcBtkT2EwCjiTdc4
           driver-class-name: com.mysql.cj.jdbc.Driver
           driver-class-name: com.mysql.cj.jdbc.Driver
 
 
 
 

+ 1 - 1
target/maven-archiver/pom.properties

@@ -1,5 +1,5 @@
 #Generated by Maven
 #Generated by Maven
-#Thu Jan 09 18:03:33 CST 2025
+#Thu Jun 25 17:06:54 CST 2026
 version=0.0.1-SNAPSHOT
 version=0.0.1-SNAPSHOT
 groupId=com.chuanghai
 groupId=com.chuanghai
 artifactId=student_portrait
 artifactId=student_portrait

+ 3 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -12,6 +12,7 @@ com\chuanghai\student_portrait\utils\ExcelUtil.class
 com\chuanghai\student_portrait\utils\ReturnWXPush.class
 com\chuanghai\student_portrait\utils\ReturnWXPush.class
 com\chuanghai\student_portrait\service\impl\AirConditioningServiceImpl.class
 com\chuanghai\student_portrait\service\impl\AirConditioningServiceImpl.class
 com\chuanghai\student_portrait\utils\HMAC.class
 com\chuanghai\student_portrait\utils\HMAC.class
+com\chuanghai\student_portrait\cron\JwtAuthenticationInterceptor.class
 com\chuanghai\student_portrait\entity\dto\PersonalTrackDto.class
 com\chuanghai\student_portrait\entity\dto\PersonalTrackDto.class
 com\chuanghai\student_portrait\controller\StructOfPeopleInSchoolController.class
 com\chuanghai\student_portrait\controller\StructOfPeopleInSchoolController.class
 com\chuanghai\student_portrait\service\CityService.class
 com\chuanghai\student_portrait\service\CityService.class
@@ -39,6 +40,7 @@ com\chuanghai\student_portrait\service\impl\NewSchooluserServiceImpl.class
 com\chuanghai\student_portrait\entity\FaceDiscern.class
 com\chuanghai\student_portrait\entity\FaceDiscern.class
 com\chuanghai\student_portrait\service\NewSchooluserService.class
 com\chuanghai\student_portrait\service\NewSchooluserService.class
 com\chuanghai\student_portrait\entity\Student.class
 com\chuanghai\student_portrait\entity\Student.class
+com\chuanghai\student_portrait\annotation\PassToken.class
 com\chuanghai\student_portrait\utils\DateTimeUtil.class
 com\chuanghai\student_portrait\utils\DateTimeUtil.class
 com\chuanghai\student_portrait\service\impl\AffinityScoreServiceImpl.class
 com\chuanghai\student_portrait\service\impl\AffinityScoreServiceImpl.class
 com\chuanghai\student_portrait\utils\FileUtil.class
 com\chuanghai\student_portrait\utils\FileUtil.class
@@ -166,6 +168,7 @@ com\chuanghai\student_portrait\entity\dto\CapacityAllDto.class
 com\chuanghai\student_portrait\mapper\CityMapper.class
 com\chuanghai\student_portrait\mapper\CityMapper.class
 com\chuanghai\student_portrait\utils\vo\LibID.class
 com\chuanghai\student_portrait\utils\vo\LibID.class
 com\chuanghai\student_portrait\entity\dto\CapacityDto.class
 com\chuanghai\student_portrait\entity\dto\CapacityDto.class
+com\chuanghai\student_portrait\cron\JwtlnterceptorConfig.class
 com\chuanghai\student_portrait\entity\dto\ForewarningDto.class
 com\chuanghai\student_portrait\entity\dto\ForewarningDto.class
 com\chuanghai\student_portrait\entity\Province.class
 com\chuanghai\student_portrait\entity\Province.class
 com\chuanghai\student_portrait\mapper\ForewarningMapper.class
 com\chuanghai\student_portrait\mapper\ForewarningMapper.class

+ 3 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -3,6 +3,7 @@ E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\en
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\mapper\ProvinceMapper.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\mapper\ProvinceMapper.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\mapper\LoginMapper.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\mapper\LoginMapper.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\utils\vo\SubscribePersonCondition.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\utils\vo\SubscribePersonCondition.java
+E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\cron\JwtAuthenticationInterceptor.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\Stall.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\Stall.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\config\ScheduledTaskConfig.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\config\ScheduledTaskConfig.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\TbCourseSelectionService.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\TbCourseSelectionService.java
@@ -21,6 +22,7 @@ E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\ut
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\impl\SecondFloorShopNameServiceImpl.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\impl\SecondFloorShopNameServiceImpl.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\dto\FaceDisernDto.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\dto\FaceDisernDto.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\HotWater.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\HotWater.java
+E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\cron\JwtlnterceptorConfig.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\DormService.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\DormService.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\Coord.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\Coord.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\mapper\NewSchooluserMapper.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\mapper\NewSchooluserMapper.java
@@ -80,6 +82,7 @@ E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\en
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\impl\AffinityScoreServiceImpl.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\impl\AffinityScoreServiceImpl.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\impl\OldSchooluserServiceImpl.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\impl\OldSchooluserServiceImpl.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\response\enums\StatusEnum.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\response\enums\StatusEnum.java
+E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\annotation\PassToken.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\VDzxxzlbService.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\service\VDzxxzlbService.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\VDzxxzlb.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\entity\VDzxxzlb.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\utils\AES.java
 E:\company\student_portraits_api\src\main\java\com\chuanghai\student_portrait\utils\AES.java

BIN
target/student_portrait-0.0.1-SNAPSHOT.jar.original