From 1865de1cd0255f7c42a326018a8cc3b5a1ee5253 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期一, 28 八月 2023 09:03:26 +0800
Subject: [PATCH] 权限

---
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java                  |    7 
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java                       |    6 
 cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java            |    6 
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java              |    5 
 framework/src/main/java/com/yuanchu/limslaboratory/exception/AuthException.java                                  |   16 ++
 sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java                                          |   74 ++++++--
 user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java                        |   12 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java |    6 
 framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java                                   |   15 +
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformingFeedbackController.java       |    2 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java                 |    2 
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java                |    9 +
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java                  |    7 
 cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasAnnualPlanController.java                    |    5 
 user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java                                    |    3 
 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java                    |   37 ++++
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java                |    8 
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java                      |    3 
 framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java                           |    3 
 chart-server/src/main/java/com/yuanchu/limslaboratory/controller/WorkController.java                             |    5 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java               |    8 +
 user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java                                |    4 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java                  |    5 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformanceReviewController.java        |    2 
 /dev/null                                                                                                        |   60 -------
 user-server/src/main/resources/mapper/RoleManangeMapper.xml                                                      |   55 ++++--
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java                      |    6 
 user-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java                             |    5 
 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java                           |    9 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java                        |    7 
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java         |    7 
 inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java        |    3 
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java                      |    5 
 user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java                              |   12 +
 user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java                   |    4 
 standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java                |    3 
 laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java                    |    5 
 37 files changed, 314 insertions(+), 117 deletions(-)

diff --git a/chart-server/src/main/java/com/yuanchu/limslaboratory/controller/WorkController.java b/chart-server/src/main/java/com/yuanchu/limslaboratory/controller/WorkController.java
index e9daed7..270a7f9 100644
--- a/chart-server/src/main/java/com/yuanchu/limslaboratory/controller/WorkController.java
+++ b/chart-server/src/main/java/com/yuanchu/limslaboratory/controller/WorkController.java
@@ -1,6 +1,7 @@
 package com.yuanchu.limslaboratory.controller;
 
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.vo.ProjectNumVo;
 import com.yuanchu.limslaboratory.service.WorkService;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -29,6 +30,7 @@
             @ApiImplicitParam(name = "type", value = "妫�楠岀被鍨�(0:鍘熸潗鏂�;1:鎴愬搧;2:濮旀墭鍝�)", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/dutyMater")
+    @AuthHandler
     public Result dutyMater(String startTime,String endTime,Integer type) {
         return Result.success(workService.dutyMater(startTime,endTime,type));
     }
@@ -41,6 +43,7 @@
             @ApiImplicitParam(name = "type", value = "妫�楠岀被鍨�(0:鍘熸潗鏂�;1:鎴愬搧;2:濮旀墭鍝�)", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/executeMater")
+    @AuthHandler
     public Result executeMater(String startTime,String endTime,Integer type) {
         return Result.success(workService.executeMater(startTime,endTime,type));
     }
@@ -52,6 +55,7 @@
             @ApiImplicitParam(name = "type", value = "妫�楠岀被鍨�(0:鍘熸潗鏂�;1:鎴愬搧;2:濮旀墭鍝�)", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/dutytimely")
+    @AuthHandler
     public Result dutytimely(String startTime,String endTime,Integer type) {
         return Result.success(workService.dutytimely(startTime,endTime,type));
     }
@@ -63,6 +67,7 @@
             @ApiImplicitParam(name = "type", value = "妫�楠岀被鍨�(0:鍘熸潗鏂�;1:鎴愬搧;2:濮旀墭鍝�)", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/executetimely")
+    @AuthHandler
     public Result executetimely(String startTime,String endTime,Integer type) {
         return Result.success(workService.executetimely(startTime,endTime,type));
     }
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasAnnualPlanController.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasAnnualPlanController.java
index 4b410c5..7104cd1 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasAnnualPlanController.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasAnnualPlanController.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.CnasAnnualPlan;
 import com.yuanchu.limslaboratory.pojo.vo.CnasAnnualPlanVo;
 import com.yuanchu.limslaboratory.service.CnasAnnualPlanService;
@@ -44,6 +45,7 @@
             @ApiImplicitParam(name = "planTime", value = "妫�楠屽紑濮嬫椂闂�", dataTypeClass = Date.class),
     })
     @GetMapping("/selectAllList")
+    @AuthHandler
     public Result selectAllList(Integer page, Integer pageSize, @DateTimeFormat(pattern = "yyyy-MM") Date planTime) {
         IPage<CnasAnnualPlanVo> reportPage = cnasAnnualPlanService.selectAllList(new Page(page, pageSize), planTime);
         Map<String, Object> map = new HashMap<>();
@@ -57,6 +59,7 @@
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "CnasAnnualPlan", value = "瀹℃煡瀵硅薄", dataTypeClass = Integer.class, required = true)
     })
+    @AuthHandler
     public Result addCnasAnnualPlan(@RequestHeader("X-Token") String token, @RequestBody CnasAnnualPlan cnasAnnualPlan) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
@@ -74,6 +77,7 @@
             @ApiImplicitParam(name = "auditTime", value = "瀹℃牳鏃ユ湡", dataTypeClass = Date.class, required = true),
             @ApiImplicitParam(name = "file", value = "闄勪欢鏂囦欢", dataTypeClass = MultipartFile.class, required = true)
     })
+    @AuthHandler
     public Result addAccessory(@RequestHeader("X-Token") String token, Date auditTime, MultipartFile file) throws Exception {
         //瑙f瀽褰撳墠鐧诲綍鐢ㄦ埛
         Object object = RedisUtil.get(token);
@@ -88,6 +92,7 @@
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "planId", value = "瀹℃牳鏃ユ湡", dataTypeClass = Integer.class, required = true)
     })
+    @AuthHandler
     public Result deleteCnasAnnualPlan(Integer planId) {
         Integer isDeleteSuccess = cnasAnnualPlanService.deleteCnasAnnualPlan(planId);
         if (isDeleteSuccess == 1){
diff --git a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java
index 47b9854..103108f 100644
--- a/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java
+++ b/cnas-server/src/main/java/com/yuanchu/limslaboratory/controller/CnasSatisfactionSurveyController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.CnasSatisfactionSurvey;
 import com.yuanchu.limslaboratory.pojo.Dto.CnasSatisfactionSurveyPageDto;
 import com.yuanchu.limslaboratory.pojo.vo.CnasSatisfactionSurveyVo;
@@ -32,12 +33,14 @@
      */
     @ApiOperation(value = "鑾峰彇婊℃剰搴﹁皟鏌�")
     @GetMapping("/getCnasSatisfactionSurvey")
+    @AuthHandler
     public Result<CnasSatisfactionSurveyVo>getCnasSatisfactionSurvey(CnasSatisfactionSurveyPageDto cnasSatisfactionSurveyPageDto){
         return Result.success(service.getCnasSatisfactionSurvey(cnasSatisfactionSurveyPageDto));
     }
 
     @GetMapping("/getFillNameAndId")
     @ApiOperation(value = "鑾峰彇褰撳墠褰曞彇浜�")
+    @AuthHandler
     public Result<Map>getFillNameAndId(@RequestHeader("X-Token")String token){
         return Result.success(service.getFillNameAndTd(token));
     }
@@ -49,14 +52,15 @@
      */
     @ApiOperation(value = "闄勪欢涓婁紶")
     @PostMapping(value = "/uploadFile",consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = {MediaType.APPLICATION_JSON_VALUE})
+    @AuthHandler
     public Result<Map>wordParse(MultipartFile file){
         return Result.success(service.wordParse(file));
     }
 
     @ApiOperation(value = "婊℃剰搴﹁皟鏌ユ柊澧�")
     @PostMapping("/addSurvey")
+    @AuthHandler
     public Result<Boolean>addSurvey(@RequestBody CnasSatisfactionSurvey cnasSatisfactionSurvey){
-        System.out.println(cnasSatisfactionSurvey+"=============");
         return Result.success(service.addSurvey(cnasSatisfactionSurvey));
     }
 
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/annotation/RequestInfo.java b/framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java
similarity index 63%
rename from framework/src/main/java/com/yuanchu/limslaboratory/annotation/RequestInfo.java
rename to framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java
index 484c3f5..086b681 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/annotation/RequestInfo.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/annotation/AuthHandler.java
@@ -10,10 +10,19 @@
  */
 @Target({ElementType.METHOD, ElementType.TYPE})
 @Retention(RetentionPolicy.RUNTIME)
-public @interface RequestInfo {
+public @interface AuthHandler {
 
-    String type();
+    /**
+     * 鎺ュ彛绫诲瀷
+     * @return
+     */
+    int type() default 0;
 
-    String name() ;
+
+    /**
+     * 鎺ュ彛鍚�
+     * @return
+     */
+    String name() default "";
 
 }
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnum.java b/framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnum.java
deleted file mode 100644
index f44bb11..0000000
--- a/framework/src/main/java/com/yuanchu/limslaboratory/enums/MenuEnum.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.yuanchu.limslaboratory.enums;
-
-/**
- * @Author 寮犲
- * @Date 2023825
- */
-public enum MenuEnum {
-    standardLibrary(1L,"鏍囧噯搴�"),
-    inspectionManagement(2L,"鎶ユ绠$悊"),
-    commissionInspection(3L,"濮旀墭妫�楠�"),
-    reportForInspection(4L,"鍘熸潗鏂欐姤妫�"),
-    experiment(5L,"璇曢獙绠$悊"),
-    inspectionApplication(6L,"鏂板妫�楠�"),
-    planAssignments(7L,"妫�楠岃鍒�"),
-    checkTheReport(8L,"妫�楠屾姤鍛�"),
-    reportAuditing(9L,"鎶ュ憡瀹℃牳"),
-    nonConformanceReview(10L,"涓嶅悎鏍煎搧鍙嶉"),
-    nonConformingFeedback(11L,"涓嶅悎鏍煎搧璇勫"),
-    passRateStatistics(12L,"鍚堟牸鐜囩粺璁�"),
-    laboratory(13L,"瀹為獙瀹ょ鐞�"),
-    ledger(14L,"璁惧鍙拌处"),
-    measure(15L,"璁¢噺绠$悊"),
-    gather(16L,"璁惧閲囬泦"),
-    personnel(17L,"浜哄憳绠$悊"),
-    role(18L,"瑙掕壊绠$悊"),
-    CNAS(19L,"CNS绠$悊"),
-    reviewAnnualPlan(20L,"瀹℃牳骞村害璁″垝"),
-    nonConformanceManage(21L,"涓嶇鍚堥」绠$悊"),
-    nonConformanceStatistics(22L,"涓嶇鍚堥」缁熻"),
-    satisfactionSurveys(23L,"婊℃剰搴﹁皟鏌�"),
-    chart(24L,"鏅鸿兘鍥捐〃"),
-    center(25L,"瀹為獙涓績"),
-    spc(26L,"SPC鎺у埗鍥�"),
-    shota(27L,"姝eお鍒嗗竷鍥�"),
-    work(28L,"宸ヤ綔缁熻"),
-    message(29L,"娑堟伅浠e姙"),
-    messages(30L,"鎴戠殑娑堟伅"),
-    toDo(31L,"鎴戠殑浠e姙"),
-    personal(32L,"浜哄憳绠$悊"),
-    myInformation(33L,"鎴戠殑淇℃伅"),
-    baseData(34L,"鍩虹鏁版嵁"),
-    basicDataMessage(35L,"鍩虹鏁版嵁"),
-    org(36L,"缁勭粐鏋舵瀯");
-
-    private Long menuId;
-    private String menuName;
-
-
-    MenuEnum(Long menuId, String menuName) {
-        this.menuId = menuId;
-        this.menuName = menuName;
-    }
-    public Long menuId() {
-        return this.menuId;
-    }
-
-    public String menuName() {
-        return this.menuName;
-    }
-}
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/exception/AuthException.java b/framework/src/main/java/com/yuanchu/limslaboratory/exception/AuthException.java
index c105ca8..1699243 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/exception/AuthException.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/exception/AuthException.java
@@ -28,4 +28,20 @@
 
     public AuthException() {
     }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
 }
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
index bb81a8f..c9465df 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/handler/GlobalExceptionHandler.java
@@ -216,7 +216,6 @@
 
     @ExceptionHandler({AuthException.class})
     public Result<?> noAuth(AuthException e){
-        e.printStackTrace();
-        return Result.fail(400,"鏃犳潈闄�");
+        return Result.fail(Integer.valueOf(e.getCode()),e.getMsg());
     }
 }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
index f0f9007..7d0ee78 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/InspectionController.java
@@ -6,6 +6,7 @@
 import java.util.*;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.mapper.UserMapper;
 import com.yuanchu.limslaboratory.pojo.Inspection;
 import com.yuanchu.limslaboratory.pojo.Report;
@@ -57,6 +58,7 @@
             @ApiImplicitParam(name = "message", value = "鐢宠鍗曞彿/鍘熸潗鏂欏悕绉�", dataTypeClass = String.class)
     })
     @GetMapping("/selectInspectsList")
+    @AuthHandler
     public Result selectInspectsList(int pageSize, int countSize, String message) {
         IPage<Map<String, Object>> inspectionPage = inspectionService.selectInspectsList(new Page<Object>(pageSize, countSize), message);
         Map<String, Object> map = new HashMap<>();
@@ -71,6 +73,7 @@
             @ApiImplicitParam(name = "type", value = "绫诲瀷", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/selectAll")
+    @AuthHandler
     public Result selectAll(Integer type) {
         switch (type) {
             case 0:
@@ -93,6 +96,7 @@
             @ApiImplicitParam(name = "specifications", value = "瑙勬牸鍨嬪彿", dataTypeClass = String.class, required = true)
     })
     @GetMapping("/chooseVer")
+    @AuthHandler
     public Result chooseVer(String name, String mcode, String specifications) {
         return Result.success(inspectionService.chooseVer(name, mcode, specifications));
     }
@@ -105,6 +109,7 @@
             @ApiImplicitParam(name = "experiment", value = "璇曢獙椤圭洰(濮旀墭涓撳睘)", dataTypeClass = String.class )
     })
     @GetMapping("/lookProByVer")
+    @AuthHandler
     public Result lookProByVer(String name, String mcode, String specifications,Integer version,String experiment) {
         return Result.success(inspectionService.lookProByVer(name, mcode, specifications,version,experiment));
     }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java
index 01f505a..76edbcc 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkBasicInformationController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.service.LinkBasicInformationService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
 import com.yuanchu.limslaboratory.utils.RedisUtil;
@@ -36,6 +37,7 @@
 
     @ApiOperation("閾炬帴-->鑾峰彇閾炬帴")
     @GetMapping("/link")
+    @AuthHandler
     public Result<?> getLink() {
         Object link1 = null;
         try {
@@ -58,6 +60,7 @@
             @ApiImplicitParam(name = "inspectionStatus", value = "妫�楠岀姸鎬�", dataTypeClass = Integer.class)
     })
     @GetMapping("/page")
+    @AuthHandler
     public Result<?> getLinkBasicPage(Integer pageNo, Integer pageSize, String entrustCoding, String sampleName, String entrusted, Integer inspectionStatus) {
         IPage<Map<String, Object>> linkBasicPage = linkBasicInformationService.getLinkBasicPage(new Page<Object>(pageNo, pageSize), entrustCoding, sampleName, entrusted, inspectionStatus);
         Map<String, Object> map = new HashMap<>();
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
index 9ac5e99..85cb28e 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/LinkDetectionController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.LinkBasicInformation;
 import com.yuanchu.limslaboratory.pojo.LinkDetection;
 import com.yuanchu.limslaboratory.pojo.Material;
@@ -50,6 +51,7 @@
 
     @ApiOperation("閾炬帴-->鑾峰彇鏍峰搧鍚嶇О")
     @GetMapping("/material")
+    @AuthHandler
     public Result<?> getMaterialIdAndName(@RequestHeader("link") String link) {
         String redisLink = RedisUtil.get("viewId").toString();
         if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -63,6 +65,7 @@
 
     @ApiOperation("閾炬帴-->鑾峰彇瑙勬牸鍨嬪彿")
     @GetMapping("/specification")
+    @AuthHandler
     public Result<?> getSpecificationIdAndName(@RequestHeader("link") String link, String materialId) {
         String redisLink = RedisUtil.get("viewId").toString();
         if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -77,6 +80,7 @@
             @ApiImplicitParam(name = "modelId", value = "鍨嬪彿id", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/chooseProject")
+    @AuthHandler
     public Result<?> chooseProject(@RequestHeader("link") String link,  Integer modelId) {
         String redisLink = RedisUtil.get("viewId").toString();
         if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -89,6 +93,7 @@
 
     @ApiOperation("閾炬帴-->娣诲姞濮旀墭鎶ユ鐢宠鍗�")
     @PostMapping("/addInspection")
+    @AuthHandler
     public Result<?> addLinkBasicInformation(@RequestHeader("link") String link, @RequestBody LinkBasicInformation linkBasicInformation) {
         String redisLink = RedisUtil.get("viewId").toString();
         if (linkBasicInformationService.isIfViewUUID(redisLink)){
@@ -106,18 +111,21 @@
 
     @ApiOperation(value = "鐢熸垚浜岀淮鐮佹墍闇�鐨勫敮涓�鐮�")
     @GetMapping("/getViewUUID")
+    @AuthHandler
     public Result<?> getViewUUID(int day){
         return Result.success("鐢熸垚鎴愬姛",linkBasicInformationService.getViewUUID(day));
     }
 
     @ApiOperation(value = "鏌ヨ浜岀淮鐮佹墍闇�鐨勫敮涓�鐮�")
     @GetMapping("/selectViewUUID")
+    @AuthHandler
     public Result<?> selectViewUUID(){
         return Result.success("鏌ヨ鎴愬姛",linkBasicInformationService.selectViewUUID());
     }
 
     @ApiOperation(value = "妫�楠屽敮涓�鐮佹槸鍚︽湁鏁�")
     @GetMapping("/isIfViewUUID")
+    @AuthHandler
     public Result<?> isIfViewUUID(String viewId){
         return Result.success("鏌ヨ鎴愬姛",linkBasicInformationService.isIfViewUUID(viewId));
     }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformanceReviewController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformanceReviewController.java
index 4f05322..310e713 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformanceReviewController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformanceReviewController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Dto.NonConformingFeedbackDto;
 import com.yuanchu.limslaboratory.pojo.NonConformanceReview;
 import com.yuanchu.limslaboratory.pojo.vo.NonConformanceReviewVo;
@@ -28,6 +29,7 @@
 
     @GetMapping("/getNonConformanceReview")
     @ApiOperation("涓嶅悎鏍煎搧鍙嶉-->鑾峰彇涓嶅悎鏍煎搧璇勫淇℃伅")
+    @AuthHandler
     public Result<NonConformanceReviewVo> getNonConformanceReview(NonConformingFeedbackDto nonConformingFeedbackDto){
 
         return Result.success(service.getNonConformanceReviewVo(nonConformingFeedbackDto));
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformingFeedbackController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformingFeedbackController.java
index 2b4c81a..6d663c4 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformingFeedbackController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/NonConformingFeedbackController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Dto.NonConformingFeedbackDto;
 import com.yuanchu.limslaboratory.pojo.NonConformingFeedback;
 import com.yuanchu.limslaboratory.pojo.vo.NonConformingFeedbackVo;
@@ -27,6 +28,7 @@
 
     @GetMapping("/getNonConformingFeedback")
     @ApiOperation("涓嶅悎鏍煎搧鍙嶉-->鑾峰彇涓嶅悎鏍煎搧淇℃伅")
+    @AuthHandler
     public Result<NonConformingFeedbackVo> getNonConformingFeedback(NonConformingFeedbackDto nonConformingFeedbackDto){
         return Result.success(service.getNonConformingFeedback(nonConformingFeedbackDto));
     }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
index 3edc996..7c7e66e 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/PlanController.java
@@ -1,6 +1,7 @@
 package com.yuanchu.limslaboratory.controller;
 
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Inspection;
 import com.yuanchu.limslaboratory.service.PlanService;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -39,6 +40,7 @@
             @ApiImplicitParam(name = "status", value = "妫�楠岀粨鏋�", dataTypeClass = Integer.class)
     })
     @GetMapping("/selectAllPlan")
+    @AuthHandler
     public Result selectAllPlan(String code, String beginTime, String endTime, Integer status) {
         System.out.println(planService.selectAllPlan(code, beginTime, endTime, status).toString());
         return Result.success(planService.selectAllPlan(code, beginTime, endTime, status));
@@ -46,12 +48,14 @@
 
     @ApiOperation("鍒嗛厤-->閫夋嫨妫�楠屼汉")
     @GetMapping("/choosecheck")
+    @AuthHandler
     public Result choosecheck() {
         return Result.success(planService.choosecheck());
     }
 
     @ApiOperation("鍒嗛厤--閫夋嫨璁惧")
     @GetMapping("/chooseinstum")
+    @AuthHandler
     public Result chooseinstum() {
         return Result.success(planService.chooseinstum());
     }
@@ -63,6 +67,7 @@
             @ApiImplicitParam(name = "instrumentId", value = "璁惧id", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/distribution")
+    @AuthHandler
     public Result distribution(Integer id, Integer userId, Integer instrumentId) {
         return Result.success(planService.distribution(id, userId, instrumentId));
     }
@@ -73,6 +78,7 @@
             @ApiImplicitParam(name = "value", value = "妫�楠屽��", dataTypeClass = String.class)
     })
     @PostMapping("/check")
+    @AuthHandler
     public Result check(Integer id, String value) {
         return Result.success(planService.check(id, value));
     }
@@ -82,6 +88,7 @@
             @ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/reported")
+    @AuthHandler
     public Result reported(Integer id) {
         return Result.success(planService.reported(id));
     }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java
index 53e8c38..6bdf287 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/QualificationRateStatisticsController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Dto.SelectQualificationRateDto;
 import com.yuanchu.limslaboratory.service.QualificationRateStatisticsService;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -25,12 +26,14 @@
 
     @ApiOperation("鏌ヨ鐢宠鐗╂枡鍗曚緵搴斿晢鍒楄〃")
     @GetMapping("/getSupplierList")
+    @AuthHandler
     public Result<?> getSupplierList() {
         return Result.success(service.getSupplierList());
     }
 
     @ApiOperation("鏌ヨ妫�楠屾牱鍝佸悎鏍肩巼缁熻")
     @GetMapping("/getTestSampleStatistics")
+    @AuthHandler
     public Result<?> getTestSampleStatistics(SelectQualificationRateDto dto){
         System.out.println("getTestSampleStatistics______________>"+dto);
         return Result.success(service.getTestSampleStatistics(dto));
@@ -38,6 +41,7 @@
 
     @ApiOperation("鏌ヨ渚涘簲鍟嗕笉鍚堟牸缁熻娆℃暟")
     @GetMapping("/getSupplierNoPassStatistics")
+    @AuthHandler
     public Result<?> getSupplierNoPassStatistics(SelectQualificationRateDto dto){
         System.out.println("getSupplierNoPassStatistics++++++++++++++++>"+dto);
         return Result.success(service.getSupplierNoPassStatistics(dto));
@@ -45,6 +49,7 @@
 
     @ApiOperation("鏌ヨ涓嶅悎鏍奸」鐩粺璁�")
     @GetMapping("/getNoPassProjectStatistics")
+    @AuthHandler
     public Result<?> getNoPassProjectStatistics(SelectQualificationRateDto dto){
         System.out.println("getNoPassProjectStatistics===============>"+dto);
         return Result.success(service.getNoPassProjectStatistics(dto));
@@ -52,6 +57,7 @@
 
     @ApiOperation("鑾峰彇鏍峰搧鍚嶇О")
     @GetMapping("/getSampleOptions")
+    @AuthHandler
     public Result<?> getSampleOptions(){
         return Result.success(service.getSampleOptions());
     }
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java
index 0fb479b..dc56db5 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/RawMaterialController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.RawMaterial;
 import com.yuanchu.limslaboratory.service.RawMaterialService;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -44,6 +45,7 @@
             @ApiImplicitParam(name = "createTime", value = "鏉ユ枡鏃ユ湡", dataTypeClass = String.class)
     })
     @GetMapping("/selectAll")
+    @AuthHandler
     public Result<?> selectRawMaterial(Integer pageSize, Integer pageNo, String materialCoding, String materialName, Integer type, String createTime) {
         IPage<RawMaterial> iPage = rawMaterialService.selectRawMaterial(materialCoding, materialName, type, createTime, new Page<Objects>(pageNo, pageSize));
         Map<String, Object> map = new HashMap<>();
diff --git a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java
index 822c590..603864b 100644
--- a/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java
+++ b/inspection-server/src/main/java/com/yuanchu/limslaboratory/controller/ReportController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.vo.ReportVo;
 import com.yuanchu.limslaboratory.service.ReportService;
 import com.yuanchu.limslaboratory.utils.JackSonUtil;
@@ -45,6 +46,7 @@
             @ApiImplicitParam(name = "name", value = "鎼滅储淇℃伅", dataTypeClass = String.class)
     })
     @GetMapping("/selectAllReport")
+    @AuthHandler
     public Result selectAllReport(Integer page, Integer pageSize, Integer status, String name) {
         IPage<ReportVo> reportPage = reportService.selectAllReport(new Page<Object>(page, pageSize), status, name);
         Map<String, Object> map = new HashMap<>();
@@ -58,6 +60,7 @@
             @ApiImplicitParam(name = "id", value = "妫�楠屾姤鍛奿d", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/submit")
+    @AuthHandler
     public Result submit(Integer id) {
         return Result.success(reportService.submit(id));
     }
@@ -68,6 +71,7 @@
             @ApiImplicitParam(name = "result", value = "瀹℃牳缁撹", dataTypeClass = String.class, required = true)
     })
     @PostMapping("/check")
+    @AuthHandler
     public Result check(@RequestHeader("X-Token") String token, Integer id, String result) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
@@ -80,6 +84,7 @@
             @ApiImplicitParam(name = "id", value = "妫�楠屾姤鍛奿d", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/delreport")
+    @AuthHandler
     public Result delreport(Integer id) {
         return Result.success(reportService.delreport(id));
     }
@@ -89,6 +94,7 @@
             @ApiImplicitParam(name = "code", value = "鎶ュ憡鍗曞彿", dataTypeClass = String.class, required = true)
     })
     @PostMapping("/getReportContext")
+    @AuthHandler
     public Result getReportContext(String code) {
         return Result.success(reportService.getReportContext(code));
     }
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java
index b5ae047..1593be5 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/ClassifyController.java
@@ -1,6 +1,7 @@
 package com.yuanchu.limslaboratory.controller;
 
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Classify;
 import com.yuanchu.limslaboratory.pojo.dto.UpdateClassifyDto;
 import com.yuanchu.limslaboratory.service.ClassifyService;
@@ -33,6 +34,7 @@
 
     @ApiOperation("娣诲姞鍒嗙被")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addClassifyInformation(@RequestBody Classify classify) {
         Integer isAddClassifySuccess = classifyService.addClassifyInformation(classify);
         if (isAddClassifySuccess == 1) {
@@ -48,6 +50,7 @@
     @ApiImplicitParams(value = {
             @ApiImplicitParam(value = "鍒嗙被鍚嶇О", name = "classifyName", dataTypeClass = String.class)
     })
+    @AuthHandler
     public Result<?> getListClassifyInformation(String classifyName) {
         return Result.success(classifyService.getListClassifyInformation(classifyName));
     }
@@ -57,6 +60,7 @@
     @ApiImplicitParams(value = {
             @ApiImplicitParam(value = "鍒嗙被Id", name = "classifyId", dataTypeClass = String.class)
     })
+    @AuthHandler
     public Result<?> deleteClassifyInformation(String classifyId) {
         Boolean isDeleteSuccess = classifyService.deleteClassifyInformation(classifyId);
         if (isDeleteSuccess){
@@ -67,6 +71,7 @@
 
     @ApiOperation("鏇存柊鍒嗙被")
     @PutMapping("/update")
+    @AuthHandler
     public Result<?> updateClassifyInformation(@RequestBody UpdateClassifyDto updateClassifyDto) throws Exception {
         Classify classify = JackSonUtil.unmarshal(JackSonUtil.marshal(updateClassifyDto), Classify.class);
         Boolean isUpdateClassifySuccess = classifyService.updateClassifyInformation(classify);
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
index 7849ec4..9850674 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/EquipmentPointController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.EquipmentPoint;
 import com.yuanchu.limslaboratory.pojo.dto.UpdateEquipmentPointDto;
 import com.yuanchu.limslaboratory.service.EquipmentPointService;
@@ -41,6 +42,7 @@
 
     @ApiOperation("娣诲姞璁惧鐮佺偣")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody EquipmentPoint equipmentPoint) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
@@ -57,6 +59,7 @@
             @ApiImplicitParam(name = "InstrumentId", value = "浠櫒妯″潡Id", dataTypeClass = String.class, required = true)
     })
     @GetMapping("/list")
+    @AuthHandler
     public Result<?> getListEquipmentPointInformation(String InstrumentId) {
         List<Map<String, Object>> list = equipmentPointService.getListEquipmentPointInformation(InstrumentId);
         return Result.success(list);
@@ -67,6 +70,7 @@
             @ApiImplicitParam(name = "equipmentPointId", value = "璁惧鐮佺偣Id", dataTypeClass = Integer.class, required = true)
     })
     @DeleteMapping("/delete")
+    @AuthHandler
     public Result<?> deleteEquipmentPointInformation(Integer equipmentPointId) {
         Integer isDeleteSuccess = equipmentPointService.deleteEquipmentPointInformation(equipmentPointId);
         if (isDeleteSuccess == 1){
@@ -77,6 +81,7 @@
 
     @ApiOperation("鏍规嵁鐮佺偣Id鏇存柊鏁版嵁")
     @PutMapping("/update")
+    @AuthHandler
     public Result<?> updateEquipmentPointInformation(@RequestHeader("X-Token") String token, @RequestBody UpdateEquipmentPointDto updateEquipmentPointDto) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java
index ad3e993..aab318e 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/InstrumentController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Instrument;
 import com.yuanchu.limslaboratory.pojo.dto.UpdateInstrumentDto;
 import com.yuanchu.limslaboratory.service.InstrumentService;
@@ -42,6 +43,7 @@
 
     @ApiOperation("娣诲姞浠櫒璁惧")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addInstrumentInformation(@RequestHeader("X-Token") String token, @RequestBody Instrument instrument) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
@@ -63,6 +65,7 @@
             @ApiImplicitParam(name = "whetherWhether", value = "鏄惁宸茶繃鏈�", dataTypeClass = Boolean.class),
             @ApiImplicitParam(name = "numberOrNameOrSpecifications", value = "缂栧彿/璁惧鍚嶇О/瑙勬牸鍨嬪彿", dataTypeClass = String.class)
     })
+    @AuthHandler
     public Result<?> getListInstrumentInformation(Integer pageNo,
                                                   Integer pageSize,
                                                   Integer conditions,
@@ -82,6 +85,7 @@
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "instrumentId", value = "浠櫒Id", dataTypeClass = String.class, required = true)
     })
+    @AuthHandler
     public Result<?> deleteInstrumentInformation(String instrumentId) {
         Boolean isDeleteSuccess = instrumentService.deleteInstrumentInformation(instrumentId);
         if (isDeleteSuccess){
@@ -92,6 +96,7 @@
 
     @ApiOperation("娣诲姞浠櫒鏃朵繚绠′汉涓嬫媺妗嗘暟鎹�")
     @GetMapping("/get_user")
+    @AuthHandler
     public Result<?> getMapUserInformation() {
         return Result.success(userService.getUserNameAndId());
     }
@@ -101,6 +106,7 @@
             @ApiImplicitParam(name = "InstrumentId", value = "鍒嗙被Id", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/get_instrument")
+    @AuthHandler
     public Result<?> getIdInstrumentInformation(Integer InstrumentId) {
         Instrument idInstrumentInformation = instrumentService.getIdInstrumentInformation(InstrumentId);
         return Result.success(idInstrumentInformation);
@@ -108,6 +114,7 @@
 
     @ApiOperation("鏍规嵁浠櫒Id鏇存柊鏁版嵁")
     @PutMapping("/update")
+    @AuthHandler
     public Result<?> updateEquipmentPointInformation(@RequestBody UpdateInstrumentDto updateInstrumentDto) throws Exception {
         Instrument instrument = JackSonUtil.unmarshal(JackSonUtil.marshal(updateInstrumentDto), Instrument.class);
         Integer isUpdateSuccess = instrumentService.updateEquipmentPointInformation(instrument);
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java
index 9d025b2..ddd7fff 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MeteringPlanController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Instrument;
 import com.yuanchu.limslaboratory.pojo.MeteringPlan;
 import com.yuanchu.limslaboratory.pojo.dto.AddPlanDto;
@@ -48,6 +49,7 @@
 
     @ApiOperation("娣诲姞璁¢噺璁″垝")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addMeteringPlanInformation(@RequestBody MeteringPlan meteringPlan) {
         Integer isInsertSuccess = meteringPlanService.addMeteringPlanInformation(meteringPlan);
         if (isInsertSuccess == 1){
@@ -58,12 +60,14 @@
 
     @ApiOperation("璁¢噺璁″垝鍒嗛〉鏌ヨ")
     @GetMapping("/plan_page_list")
+    @AuthHandler
     public Result<?> pagingQueryOfMeteringPlan(SelectMeteringPlanDto dto) {
         return Result.success(meteringPlanService.pagingQueryOfMeteringPlan(dto));
     }
 
     @ApiOperation("璁¢噺鍙拌处鍒嗛〉鏌ヨ")
     @GetMapping("/standing_page_list")
+    @AuthHandler
     public Result<?> pagingQueryOfMeasurementLedger(SelectMeasurementLedgerDto selectMeasurementLedgerDto) {
         IPage<Map<String, Object>> page = meteringPlanService.pagingQueryOfMeasurementLedger(selectMeasurementLedgerDto);
         return Result.success(page);
@@ -71,23 +75,28 @@
 
     @ApiOperation("鍗曡璁″垝淇℃伅")
     @GetMapping("/getPlanMeasureInstrument")
+    @AuthHandler
     public Result<?> getPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto){
         return Result.success(meteringPlanService.getPlanMeasureInstrument(dto));
     }
 
     @ApiOperation("璁″垝淇℃伅涔嬩笅鍒嗛〉")
     @GetMapping("/limitGetPlanMeasureInstrument")
+    @AuthHandler
     public Result<?> limitGetPlanMeasureInstrument(GetPlanMeasureInstrumentDto dto){
         return Result.success(meteringPlanService.limitGetPlanMeasureInstrument(dto));
     }
 
     @ApiOperation("鑾峰彇user鍒楄〃鍜屼华鍣ㄥ垪琛�")
     @GetMapping("/getListUserAndListIns")
+    @AuthHandler
     public Result<?>getListUserAndListIns(){
         return Result.success(meteringPlanService.getListUserAndListIns(userService.getUserNameAndId()));
     }
 
+    @ApiOperation("娣诲姞璁″垝鍜岃閲忎俊鎭�")
     @PostMapping("/addPlanAndMeasure")
+    @AuthHandler
     public Result<?>addPlanAndMeasure(@RequestBody AddPlanDto addPlanDto){
         return Result.success(meteringPlanService.addPlanAndMeasure(userService.getUserInfo(ServletUtils.getRequest().getHeader("X-Token")),addPlanDto));
     }
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java
index cabf979..13aaf75 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/MetricalInformationController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.MetricalInformation;
 import com.yuanchu.limslaboratory.pojo.dto.UpdateMetricalInformationDto;
 import com.yuanchu.limslaboratory.pojo.dto.UpdatedMetricalInformationDto;
@@ -39,6 +40,7 @@
 
     @ApiOperation("娣诲姞璁¢噺淇℃伅")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addMetricalInformation(MetricalInformation metricalInformation,
                                             @RequestPart(value = "file", required = false) MultipartFile file) {
         Integer isInsertSuccess = metricalInformationService.addEquipmentPointInformation(metricalInformation, file);
@@ -53,6 +55,7 @@
             @ApiImplicitParam(name = "InstrumentId", value = "浠櫒妯″潡Id", dataTypeClass = String.class, required = true)
     })
     @GetMapping("/list")
+    @AuthHandler
     public Result<?> getListMetricalInformation(String InstrumentId) {
         List<Map<String, Object>> list = metricalInformationService.getListEquipmentPointInformation(InstrumentId);
         return Result.success(list);
@@ -63,6 +66,7 @@
             @ApiImplicitParam(name = "metricalInformationId", value = "璁¢噺淇℃伅Id", dataTypeClass = Integer.class, required = true)
     })
     @DeleteMapping("/delete")
+    @AuthHandler
     public Result<?> deleteMetricalInformation(Integer metricalInformationId) {
         Integer isDeleteSuccess = metricalInformationService.deleteMetricalInformation(metricalInformationId);
         if (isDeleteSuccess == 1){
@@ -73,6 +77,7 @@
 
     @ApiOperation("鏍规嵁璁¢噺淇℃伅Id鏇存柊鏁版嵁")
     @PutMapping("/update")
+    @AuthHandler
     public Result<?> updateMetricalInformation(UpdateMetricalInformationDto updateMetricalInformationDto,
                                                      @RequestPart(value = "file", required = false) MultipartFile file) throws Exception {
         MetricalInformation metricalInformation = JackSonUtil.unmarshal(JackSonUtil.marshal(updateMetricalInformationDto), MetricalInformation.class);
@@ -85,12 +90,14 @@
 
     @ApiOperation("娣诲姞璁¢噺淇℃伅鏃惰礋璐d汉涓嬫媺妗嗘暟鎹�")
     @GetMapping("/get_user")
+    @AuthHandler
     public Result<?> getMapUserInformation() {
         return Result.success(userService.getUserNameAndId());
     }
 
     @ApiOperation("鏇存柊璁¢噺缁撴灉")
     @PostMapping("/updateMetricalInformationInfo")
+    @AuthHandler
     public Result<?> updateMetricalInformationInfo(@RequestBody UpdatedMetricalInformationDto dto){
         return Result.success(metricalInformationService.updateMetricalInformationInfo(dto));
     }
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java
index e7a7ce8..807bfe6 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/MaterialController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto;
 import com.yuanchu.limslaboratory.service.MaterialService;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -32,12 +33,14 @@
 
     @ApiOperation(value = "娣诲姞鎸囨爣-->閫夋嫨鏍峰搧鍚嶇О")
     @GetMapping("/selectmater")
+    @AuthHandler
     public Result selectmater() {
         return Result.success(materialService.selectmater());
     }
 
     @ApiOperation("娣诲姞鎸囨爣")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addMaterialInformation(@Validated @RequestBody AddMaterialDto addMaterialDto) {
         Integer isMaterialSuccess = materialService.addMaterialInformation(addMaterialDto);
         if (isMaterialSuccess == 1) {
@@ -51,6 +54,7 @@
     @ApiImplicitParams(value = {
             @ApiImplicitParam(value = "鐗╂枡ID", name = "materialId", dataTypeClass = Integer.class)
     })
+    @AuthHandler
     public Result<?> deleteMaterialInformation(Integer materialId) {
         Integer isDeleteMaterialSuccess = materialService.deleteMaterialInformation(materialId);
         if (isDeleteMaterialSuccess == 1) {
@@ -61,6 +65,7 @@
 
     @ApiOperation(value = "鏍囧噯搴�-->鐗╂枡-->渚ц竟鏍忓洓绾у睍寮�")
     @GetMapping("/list")
+    @AuthHandler
     public Result<?> getFourLevelInformation() {
         List<Map<String, Object>> fourLevelInformation = materialService.getFourLevelInformation();
         return Result.success(fourLevelInformation);
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java
index db89721..02663d2 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/OrganizationalController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.Organizational;
 import com.yuanchu.limslaboratory.service.OrganizationalService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
@@ -34,6 +35,7 @@
 
     @ApiOperation(value = "渚ц竟鏍忔爲灞曞紑")
     @GetMapping("/list")
+    @AuthHandler
     public Result<?> getFourLevelInformation() {
         List<Map<String, Object>> organizationalTree = organizationalService.OrganizationalTree();
         return Result.success(organizationalTree);
@@ -44,6 +46,7 @@
             @ApiImplicitParam(value = "閮ㄩ棬ID", name = "departmentId", dataTypeClass = Integer.class)
     })
     @GetMapping("/table")
+    @AuthHandler
     public Result<?> getDepartmentListTable(Integer departmentId) {
         List<Map<String, Object>> departmentListTable = organizationalService.getDepartmentListTable(departmentId);
         return Result.success(departmentListTable);
@@ -51,6 +54,7 @@
 
     @ApiOperation(value = "娣诲姞閮ㄩ棬")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addDepartment(@RequestBody @Validated Organizational organizational) {
         Integer addDepartment = organizationalService.addDepartment(organizational);
         if (addDepartment >= 1){
@@ -60,7 +64,8 @@
     }
 
     @ApiOperation(value = "淇敼閮ㄩ棬")
-    @PutMapping("/add")
+    @PutMapping("/update")
+    @AuthHandler
     public Result<?> updateDepartment(Integer id, @RequestBody @Validated Organizational organizational) {
         Integer addDepartment = organizationalService.updateDepartment(id, organizational);
         if (addDepartment >= 1){
@@ -71,6 +76,7 @@
 
     @ApiOperation(value = "鍒犻櫎閮ㄩ棬")
     @DeleteMapping("/delete")
+    @AuthHandler
     public Result<?> deleteDepartment(String ids) {
         organizationalService.deleteDepartment(ids);
         return Result.success("鍒犻櫎鎴愬姛锛�");
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java
index 5119274..147cefe 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.service.ProductService;
 import com.yuanchu.limslaboratory.utils.MyUtil;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -28,6 +29,7 @@
             @ApiImplicitParam(name = "specificationsId", value = "鍨嬪彿ID", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/chooseVersion")
+    @AuthHandler
     public Result<?> chooseVersion(Integer specificationsId) {
         return Result.success(productService.chooseVersion(specificationsId));
     }
@@ -38,6 +40,7 @@
             @ApiImplicitParam(name = "version", value = "鐗堟湰(榛樿鏈�鏂扮増鏈�)", dataTypeClass = Integer.class,required = true )
     })
     @GetMapping("/page")
+    @AuthHandler
     public Result<?> pageProductInformation(Integer specificationsId,Integer version) {
         return Result.success(productService.pageProductInformation(specificationsId,version));
     }
@@ -50,6 +53,7 @@
 
     })
     @PostMapping("/write")
+    @AuthHandler
     public Result<?> write(Integer id, String required, String internal) {
         Integer write = productService.write(id, required, internal);
         if (write >= 1){
@@ -63,6 +67,7 @@
             @ApiImplicitParam(name = "ids", value = "鏍囧噯椤圭洰ID", dataTypeClass = String.class, required = true)
     })
     @DeleteMapping("/deleteList")
+    @AuthHandler
     public Result<?> deleteList(String ids) {
         MyUtil.PrintLog(ids);
         productService.deleteList(ids);
@@ -74,6 +79,7 @@
             @ApiImplicitParam(name = "specificationsId", value = "鍨嬪彿id", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/addVersion")
+    @AuthHandler
     public Result<?> addVersion(Integer specificationsId ) {
         Integer version = productService.addVersion(specificationsId);
         return Result.success("娣诲姞鐗堟湰"+version+"鎴愬姛");
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java
index 54c77ae..2c29c8f 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/ProductModelController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto;
 import com.yuanchu.limslaboratory.pojo.dto.ProductModelDto;
 import com.yuanchu.limslaboratory.utils.MyUtil;
@@ -36,6 +37,7 @@
 
     @ApiOperation(value = "閫夋嫨鏍峰搧鍚嶇О")
     @GetMapping("/selectmater")
+    @AuthHandler
     public Result selectmater() {
         return Result.success(productModelService.selectmater());
     }
@@ -48,6 +50,7 @@
 
     @ApiOperation("娣诲姞鏍囧噯")
     @PostMapping("/addproductModel")
+    @AuthHandler
     public Result<?> addproductModel(@Validated @RequestBody ProductModelDto productModelDto) {
         productModelService.addproductModel(productModelDto);
         return Result.success("娣诲姞鏍囧噯椤圭洰銆�" + productModelDto.getName() + "銆戞垚鍔燂紒");
@@ -60,6 +63,7 @@
             @ApiImplicitParam(name = "material", value = "鏍峰搧鍚嶇О", dataTypeClass = String.class, required = true)
     })
     @GetMapping("/selectproductModel")
+    @AuthHandler
     public Result selectproductModel(String name, String father, String material) {
         return Result.success(productModelService.selectproductModel(name, father, material));
     }
@@ -69,6 +73,7 @@
             @ApiImplicitParam(name = "id", value = "鏍囧噯妯$増id", dataTypeClass = Integer.class, required = true)
     })
     @GetMapping("/selectproductModelById")
+    @AuthHandler
     public Result selectproductModelById(Integer id) {
         return Result.success(productModelService.selectproductModelById(id));
     }
@@ -78,6 +83,7 @@
             @ApiImplicitParam(name = "id", value = "鏍囧噯妯$増id", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/writeproductModel")
+    @AuthHandler
     public Result<?> writeproductModel(Integer id, @Validated @RequestBody ProductModelDto productModelDto) {
         productModelService.writeproductModel(id,productModelDto);
         return Result.success("淇敼鏍囧噯椤圭洰銆�" + productModelDto.getName() + "銆戞垚鍔燂紒");
@@ -88,6 +94,7 @@
             @ApiImplicitParam(name = "id", value = "鏍囧噯妯$増id", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/delproductModel")
+    @AuthHandler
     public Result<?> delproductModel(Integer id) {
         productModelService.delproductModel(id);
         return Result.success("鍒犻櫎鏍囧噯椤圭洰鎴愬姛锛�");
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java
index 49ca632..7672044 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/SpecificationsController.java
@@ -1,6 +1,7 @@
 package com.yuanchu.limslaboratory.controller;
 
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.dto.AddSpecifications;
 import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto;
 import com.yuanchu.limslaboratory.service.SpecificationsService;
@@ -31,6 +32,7 @@
 
     @ApiOperation("娣诲姞鐗╂枡")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addSpecificationsInformation(@Validated @RequestBody AddSpecifications addSpecifications) {
         Integer isMaterialSuccess = specificationsService.addSpecificationsInformation(addSpecifications);
         if (isMaterialSuccess == 1) {
@@ -44,6 +46,7 @@
             @ApiImplicitParam(name = "specificationsId", value = "鍨嬪彿Id", dataTypeClass = Integer.class, required = true)
     })
     @DeleteMapping("/delete")
+    @AuthHandler
     public Result<?> deleteSpecificationsInformation(Integer specificationsId) {
         Integer isStandardsSuccess = specificationsService.deleteSpecifications(specificationsId);
         if (isStandardsSuccess == 1) {
diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java
index eb29f8f..fee30d2 100644
--- a/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java
+++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/controller/StandardController.java
@@ -1,5 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.dto.AddStandardDto;
 import com.yuanchu.limslaboratory.service.StandardService;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -27,6 +28,7 @@
 
     @ApiOperation("娣诲姞鐗╂枡")
     @PostMapping("/add")
+    @AuthHandler
     public Result<?> addStandardInformation(@Validated @RequestBody AddStandardDto addStandardDto) {
         Integer isMaterialSuccess = standardService.addStandardInformation(addStandardDto);
         if (isMaterialSuccess == 1) {
@@ -37,6 +39,7 @@
 
     @ApiOperation("鏍规嵁ID鍒犺鏍�")
     @DeleteMapping("/delete")
+    @AuthHandler
     public Result<?> deleteStandardsInformation(Integer standardsId) {
         Integer isDeleteMaterialSuccess = standardService.deleteStandardInformation(standardsId);
         if (isDeleteMaterialSuccess == 1) {
diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java b/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java
index 4e6b38f..fd0b5fe 100644
--- a/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java
+++ b/sys/src/main/java/com/yuanchu/limslaboratory/aop/AuthRequestAspect.java
@@ -1,30 +1,28 @@
 package com.yuanchu.limslaboratory.aop;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.yuanchu.limslaboratory.annotation.RequestInfo;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.exception.AuthException;
+import com.yuanchu.limslaboratory.pojo.User;
+import com.yuanchu.limslaboratory.service.RoleManagerService;
+import com.yuanchu.limslaboratory.service.UserService;
 import com.yuanchu.limslaboratory.utils.ServletUtils;
-import com.yuanchu.limslaboratory.vo.Result;
 import io.swagger.annotations.ApiOperation;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
 import org.aspectj.lang.annotation.Before;
 import org.aspectj.lang.annotation.Pointcut;
 import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.lang.annotation.Annotation;
 import java.lang.reflect.Method;
-import java.nio.charset.StandardCharsets;
 import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
+import java.util.Objects;
 
 /**
  * @Author 寮犲
@@ -35,17 +33,20 @@
 @Aspect
 public class AuthRequestAspect {
 
-    @Pointcut("@annotation(com.yuanchu.limslaboratory.annotation.RequestInfo)")
+    @Pointcut("@annotation(com.yuanchu.limslaboratory.annotation.AuthHandler)")
     public void pointCut() {
     }
 
-    //private ThreadLocal<ConcurrentHashMap<String, Map>> threadLocal;
+    @Resource
+    private UserService userService;
+
+
+    @Resource
+    private RoleManagerService roleService;
 
     @SneakyThrows
     @Before("pointCut()")
     public void before(JoinPoint joinPoint) {
-        HttpServletRequest request = ServletUtils.getRequest();
-        log.info("鎷︽埅=====銆�"+request.getServletPath());
         Class<?> clazz = joinPoint.getTarget().getClass();
         String clazzName = joinPoint.getTarget().getClass().getName();
         // 鑾峰彇璁块棶鐨勬柟娉曞悕
@@ -54,13 +55,46 @@
         Class[] argClz = ((MethodSignature) joinPoint.getSignature()).getParameterTypes();
         // 鑾峰彇璁块棶鐨勬柟娉曞璞�
         Method method = clazz.getDeclaredMethod(methodName, argClz);
-        // 鍒ゆ柇褰撳墠璁块棶鐨勬柟娉曟槸鍚﹀瓨鍦ㄦ寚瀹氭敞瑙�
-        if (method.isAnnotationPresent(RequestInfo.class)) {
-            RequestInfo annotation = method.getAnnotation(RequestInfo.class);
-            System.out.println(annotation.name());
-            System.out.println(annotation.type());
+        //鑾峰彇绫讳笂璇锋眰鍦板潃
+        RequestMapping annotation = clazz.getAnnotation(RequestMapping.class);
+        StringBuilder builder = new StringBuilder();
+        String apiInfo=null;
+        builder.append(annotation.value()[0]);
+        //鑾峰彇鏂规硶涓婃敞瑙�
+        if (method.isAnnotationPresent(PostMapping.class)) {
+            PostMapping post = method.getAnnotation(PostMapping.class);
+            builder.append(post.value()[0]);
         }
-        //throw new AuthException("400","鏃犳潈闄�");
+        if (method.isAnnotationPresent(GetMapping.class)) {
+            GetMapping get = method.getAnnotation(GetMapping.class);
+            builder.append(get.value()[0]);
+        }
+        if (method.isAnnotationPresent(DeleteMapping.class)) {
+            DeleteMapping delete = method.getAnnotation(DeleteMapping.class);
+            builder.append(delete.value()[0]);
+        }
+        if (method.isAnnotationPresent(PutMapping.class)) {
+            PutMapping put = method.getAnnotation(PutMapping.class);
+            builder.append(put.value()[0]);
+        }
+        if (method.isAnnotationPresent(ApiOperation.class)) {
+            ApiOperation api = method.getAnnotation(ApiOperation.class);
+            apiInfo=api.value();
+        }
+        HttpServletRequest request = ServletUtils.getRequest();
+        Map<String, Object> userInfo = userService.getUserInfo(request.getHeader("X-Token"));
+        if(Objects.nonNull(userInfo)){
+        String roleId = String.valueOf(userInfo.get("roleId"));
+        Map<String, Object> urlType = roleService.getUrlType(builder.toString());
+        log.info("鎷︽埅璇锋眰----------------銆�"+builder);
+        boolean b = roleService.hasUrl(String.valueOf(urlType.get("type")), String.valueOf(urlType.get("menuId")), roleId);
+        if(!b){
+            log.warn("鐢ㄦ埛/id锛�"+userInfo.get("name")+"/"+userInfo.get("id")+"---------鏉冮檺涓嶈冻锛屽凡鎷︽埅锛�");
+            //throw new AuthException("400","鏃犳潈闄�");
+        }
+        }else {
+            throw new AuthException("401","鐧婚檰杩囨湡");
+        }
     }
 
 
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
index e0b0cc5..2668336 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
@@ -1,6 +1,6 @@
 package com.yuanchu.limslaboratory.controller;
 
-import com.yuanchu.limslaboratory.annotation.RequestInfo;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
 import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
 import com.yuanchu.limslaboratory.pojo.dto.UpdateRoleMenuDto;
@@ -26,43 +26,49 @@
 
     @ApiOperation("鑾峰彇鑿滃崟鍔熻兘鏍�")
     @GetMapping("/getMenusTree")
-    @RequestInfo(type = "add",name="ccc")
+    @AuthHandler
     public Result<?>getMenusTree() {
       return Result.success(roleManagerService.getMenusTree());
     };
 
     @ApiOperation("鏂板瑙掕壊")
     @PostMapping("/addRoleInfo")
+    @AuthHandler
     public Result<?>addRoleInfo(@RequestBody RoleInfoDto dto){
         return Result.success(roleManagerService.addRoleInfo(dto));
     }
 
     @ApiOperation("鏌ヨ瑙掕壊鍚嶉噸澶�")
     @GetMapping("/assertRepeat")
+    @AuthHandler
     public Result<?> assertRepeat(String roleName){
         return Result.success(roleManagerService.assertRepeat(roleName));
     }
 
     @ApiOperation("鑾峰彇瑙掕壊淇℃伅")
     @GetMapping("/getAllRoleAndMenuInfo")
+    @AuthHandler
     public Result<?> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto){
         return Result.success(roleManagerService.getAllRoleAndMenuInfo(dto));
     }
 
     @ApiOperation("閫昏緫鍒犻櫎瑙掕壊")
     @GetMapping("/deleteRole")
+    @AuthHandler
     public Result<?> deleteRole(Long id){
         return Result.success(roleManagerService.deleteRole(id));
     }
 
     @ApiOperation("淇敼鏉冮檺")
     @PostMapping("/updateRoleMenu")
+    @AuthHandler
     public Result<?> updateRoleMenu(@RequestBody UpdateRoleMenuDto dto){
         return Result.success(roleManagerService.updateRoleMenu(dto));
     }
 
-    @ApiOperation("/鏍规嵁瑙掕壊鑾峰彇Role")
+    @ApiOperation("鏍规嵁瑙掕壊Id鑾峰彇Role")
     @GetMapping("/getRoleAndMenuByRole")
+    @AuthHandler
     public Result<?> getRoleAndMenuByRole(Long roleId){
         return Result.success(roleManagerService.getRoleAndMenuByRole(roleId));
     }
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
index 7e21786..6781bd3 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/UserController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.clients.UserLoginUtils;
 import com.yuanchu.limslaboratory.pojo.User;
 import com.yuanchu.limslaboratory.service.RoleManagerService;
@@ -82,6 +83,7 @@
 
     @ApiOperation("鏂板鐢ㄦ埛鑾峰彇瑙掕壊鏉冮檺淇℃伅")
     @GetMapping("/list")
+    @AuthHandler
     public Result<?> getUserListRole(){
         List<Map<String,Object>> data = roleManagerService.getUserListRole();
         return Result.success(data);
@@ -98,8 +100,15 @@
         return Result.fail(202,"鐢ㄦ埛鐧诲綍淇℃伅鏃犳晥锛岃閲嶆柊鐧诲綍");
     }
 
+    @ApiOperation("鐧诲綍-->鑾峰彇瑙掕壊淇℃伅")
+    @GetMapping("/roleInfo")
+    public Result<?> getUserRoleInfo(@RequestHeader("X-Token") String token){
+        return Result.success(userService.getUserRoleInfo(token));
+    }
+
     @PostMapping("/getUserById")
     @ApiOperation("鑾峰彇鎸囧畾鐢ㄦ埛id鐨勭敤鎴蜂俊鎭拰浼佷笟淇℃伅")
+    @AuthHandler
     public Result<?> getUserById(@RequestHeader("X-Token") String token) throws Exception {
         Object o = RedisUtil.get(token);
         Map<String, Object> unmarshal = null;
@@ -113,6 +122,7 @@
 
     @PostMapping("/add_new_personnel")
     @ApiOperation("瀹為獙瀹ょ鐞�-->浜哄憳绠$悊-->鏂板浜哄憳")
+    @AuthHandler
     public Result<?> addNewPersonnel(@RequestHeader("X-Token") String token, @RequestBody NewPersonnelVo newPersonnelVo) throws Exception {
         Object redisUserMessage = RedisUtil.get(token);
         Map<String, Object> user = null;
@@ -131,6 +141,7 @@
 
     @PutMapping("/update_new_personnel")
     @ApiOperation("瀹為獙瀹ょ鐞�-->浜哄憳绠$悊-->缂栬緫鎿嶄綔")
+    @AuthHandler
     public Result<?> updateNewPersonnel(@RequestBody UpdatePersonnelVo updatePersonnelVo) {
         Integer isUpdateSuccess = userService.updateNewPersonnel(updatePersonnelVo);
         if (isUpdateSuccess == 1){
@@ -147,6 +158,7 @@
             @ApiImplicitParam(name = "name", value = "浜哄憳鍚嶇О", dataTypeClass = String.class),
             @ApiImplicitParam(name = "status", value = "鍦ㄨ亴鐘舵��", dataTypeClass = Integer.class)
     })
+    @AuthHandler
     public Result<Map<String, Object>> getNewPersonnelPage(Integer pageNo, Integer pageSize, String name, Integer status) {
         IPage<Map<String, Object>> PageList = userService.getNewPersonnelPage(name, new Page<Objects>(pageNo, pageSize), status);
         Map<String, Object> map = new HashMap<>();
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
index df02520..75b43d0 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.annotation.AuthHandler;
 import com.yuanchu.limslaboratory.utils.JackSonUtil;
 import com.yuanchu.limslaboratory.utils.RedisUtil;
 import com.yuanchu.limslaboratory.vo.Result;
@@ -41,6 +42,7 @@
             @ApiImplicitParam(name = "type", value = "鐘舵��(涓虹┖=鍏ㄩ儴)", dataTypeClass = Integer.class)
     })
     @GetMapping("/selectWaitInforList")
+    @AuthHandler
     public Result selectWaitInforList(@RequestHeader("token") String token,int pageSize, int countSize, String title, String text, Integer type) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
@@ -56,6 +58,7 @@
             @ApiImplicitParam(name = "ids", value = "寰呭姙id", dataTypeClass = String.class,required = true)
     })
     @GetMapping("/delAllWaitInfor")
+    @AuthHandler
     public Result delAllWaitInfor(@RequestHeader("token") String token,String ids) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
@@ -68,6 +71,7 @@
             @ApiImplicitParam(name = "ids", value = "寰呭姙id", dataTypeClass = String.class,required = true)
     })
     @GetMapping("/writeAllWaitInfor")
+    @AuthHandler
     public Result writeAllWaitInfor(@RequestHeader("token") String token,String ids) throws Exception {
         Object object = RedisUtil.get(token);
         Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
index d0232db..522c767 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
@@ -35,4 +35,8 @@
     RoleAndMenuDto selectAllRoleAndMenuByRoleId(Long roleId);
 
     List<Map<String, Object>> getUserListRole();
+
+    Map<String, Object>selctInterFaceType(String url);
+
+    Map<String, Long> hasUrl(String type, String menuId, String roleId);
 }
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
index 9367e29..f92040f 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
@@ -28,4 +28,9 @@
     RoleAndMenuDto getRoleAndMenuByRole(Long roleId);
 
     List<Map<String, Object>> getUserListRole();
+
+    Map<String, Object> getUrlType(String url);
+
+   boolean  hasUrl(String type,String menuId,String roleId);
+
 }
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java
index 3b7a54e..5d8d92d 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/UserService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.pojo.User;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
 import com.yuanchu.limslaboratory.pojo.vo.NewPersonnelVo;
 import com.yuanchu.limslaboratory.pojo.vo.UpdatePersonnelVo;
 
@@ -80,4 +81,6 @@
      * 鑾峰彇鎵�鏈夌敤鎴风殑鍚嶇О涓嶪d
      */
     List<Map<String, Object>> getUserNameAndId();
+
+    RoleAndMenuDto getUserRoleInfo(String token);
 }
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
index 2a4313b..42b669d 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
@@ -96,9 +96,9 @@
                     .collect(Collectors.toList());
             r.setRoleMenuList(collect);
         });
-        roleAndMenuDtos.forEach(r->{
-            r.getRoleMenuList().forEach(System.out::println);
-        });
+        //roleAndMenuDtos.forEach(r->{
+        //    r.getRoleMenuList().forEach(System.out::println);
+        //});
         Map<String, Object>result=new HashMap<>(3);
         result.put("list",roleAndMenuDtos);
         int size = roleManageMapper.getRoleInfoByName(dto.getName()).size();
@@ -143,6 +143,37 @@
         return roleManageMapper.getUserListRole();
     }
 
+    @Override
+    public Map<String, Object> getUrlType(String url) {
+        String type=null;
+        Map<String, Object> stringIntegerMap = roleManageMapper.selctInterFaceType(url);
+        String of = String.valueOf(stringIntegerMap.get("type"));
+        switch (of) {
+            case "0":
+                type="selected";
+                break;
+            case "1":
+                type="added";
+                break;
+            case "2":
+                type="updated";
+                break;
+            case "3":
+                type="deleted";
+                break;
+            default:
+                break;
+        }
+        stringIntegerMap.put("type",type);
+        System.out.println(type);
+        return stringIntegerMap;
+    }
+
+    @Override
+    public boolean hasUrl(String type, String menuId, String roleId) {
+        return roleManageMapper.hasUrl( type,  menuId,  roleId).get("num")>0L;
+    }
+
 
     private List<Menu> getEnumChildren(Menu root, List<Menu> all) {
         return all.stream()
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
index a95c292..9ec7650 100644
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/UserServiceImpl.java
@@ -59,11 +59,9 @@
             Map<String, Object> data = new HashMap<>();
             data.put("name",loginUser.get("name"));
             data.put("id",loginUser.get("id"));
+            data.put("roleId",loginUser.get("roleId"));
             data.put("remind", remind);
             RoleAndMenuDto role = getRoleInfo(Long.valueOf(String.valueOf(loginUser.get("roleId"))));
-            System.out.println("+++++++++++++++++++++++++++++++++++++++++++++");
-            System.out.println(role);
-            System.out.println("++++++++++++++++++++++++++++++++++++++++++++++");
             data.put("role",role);
             return data;
         }
@@ -101,6 +99,11 @@
     }
 
     @Override
+    public RoleAndMenuDto getUserRoleInfo(String token) {
+        return null;
+    }
+
+    @Override
     public Map<String, String> selectUserByUserId(int userId) {
         return userMapper.selectUserByUserId(userId);
     }
diff --git a/user-server/src/main/resources/mapper/RoleManangeMapper.xml b/user-server/src/main/resources/mapper/RoleManangeMapper.xml
index 1944922..f8db203 100644
--- a/user-server/src/main/resources/mapper/RoleManangeMapper.xml
+++ b/user-server/src/main/resources/mapper/RoleManangeMapper.xml
@@ -18,16 +18,20 @@
         )
     </insert>
     <update id="updateRoleState">
-        UPDATE role SET state = 0 WHERE (id = #{id})
+        UPDATE role
+        SET state = 0
+        WHERE (id = #{id})
     </update>
     <delete id="deleteRoleMenuByRoleId">
-        delete from role_menu where role_id =#{id}
+        delete
+        from role_menu
+        where role_id = #{id}
     </delete>
     <select id="getAssertName" resultType="com.yuanchu.limslaboratory.pojo.RoleInfo">
         select id
         from role
         where name = #{roleName}
-        and state=1
+          and state = 1
     </select>
     <select id="selectAllRoleAndMenu" resultMap="roleAndMenu">
         SELECT r.id roleId,
@@ -60,41 +64,50 @@
         select id
         from role
         where 1=1
-          and state=1
+        and state=1
         <if test="roleName!=null and roleName!=''">
             and name like CONCAT('%',#{roleName},'%')
         </if>
     </select>
     <select id="selectAllRoleAndMenuByRoleId" resultMap="roleAndMenuById">
-        SELECT
-            r.`name` roleName,
-            menu_id menuId,
-            parent_id parentId,
-            m.`name` menuName,
-            m.url menuUrl,
+        SELECT r.`name`  roleName,
+               menu_id   menuId,
+               parent_id parentId,
+               m.`name`  menuName,
+               m.url     menuUrl,
 --             m.redirect redirect,
 --             m.icon icon,
-            rm.selected,
-            rm.added,
-            rm.updated,
-            rm.deleted
-        FROM
-            role_menu rm,
-            role r,
-            menu m
-        WHERE
-            rm.role_id = r.id
+               rm.selected,
+               rm.added,
+               rm.updated,
+               rm.deleted
+        FROM role_menu rm,
+             role r,
+             menu m
+        WHERE rm.role_id = r.id
           AND rm.menu_id = m.id
           AND r.state = 1
           AND rm.state = 1
           AND m.state = 1
-        and r.id=#{roleId}
+          and r.id = #{roleId}
     </select>
 
     <select id="getUserListRole" resultType="map">
         SELECT CONCAT(r.`id`, '') id, r.`name`
         FROM role r
     </select>
+    <select id="selctInterFaceType" resultType="java.util.Map">
+        select type, menu_id menuId
+        from interface_info
+        WHERE url = #{url}
+    </select>
+    <select id="hasUrl" resultType="java.util.Map">
+        SELECT COUNT(id) num
+        from role_menu
+        WHERE role_id = #{roleId}
+          and menu_id = #{menuId}
+          and ${type} = 1
+    </select>
     <resultMap id="roleAndMenuById" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto">
         <result property="roleName" column="roleName"/>
         <result property="createTime" column="createTime"/>

--
Gitblit v1.9.3