From 19c9e29273e8e751847d9dcb06b346dede48d2c8 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期三, 30 八月 2023 15:45:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java | 127 ++++++++++++++++++++++--------------------
1 files changed, 67 insertions(+), 60 deletions(-)
diff --git a/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java b/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java
index 2ca5b77..5a2b1ef 100644
--- a/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java
+++ b/sys/src/main/java/com/yuanchu/limslaboratory/commandLineRunner/ResolutionRequestsCommandLineRunner.java
@@ -1,6 +1,7 @@
package com.yuanchu.limslaboratory.commandLineRunner;
import com.yuanchu.limslaboratory.annotation.AuthHandler;
+import com.yuanchu.limslaboratory.mapper.MenuMapper;
import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
import com.yuanchu.limslaboratory.utils.ArrayListUtil;
import com.yuanchu.limslaboratory.utils.MyClassUtil;
@@ -38,69 +39,75 @@
@Autowired
private RoleManageMapper roleManageMapper;
-
@SneakyThrows
@Override
public void run(String... args) throws Exception {
- //log.info("瀹瑰櫒鐢熸垚涔嬪悗鎵ц");
- //List<Class<?>> classList = MyClassUtil.getClassList("com.yuanchu.limslaboratory.controller");
- //List<Map<String, Object>> requestListInfo = new ArrayList<Map<String, Object>>();
- //List<Map<String, Object>> urlList = new ArrayList<Map<String, Object>>();
- //classList.stream().forEach(c -> {
- // Method[] methods = c.getMethods();
- // //鍘绘帀瀵硅薄鏂规硶
- // List<Method> methodList = Arrays.stream(methods)
- // .filter(m -> !"notify".equals(m.getName()) && !"getClass".equals(m.getName())
- // && !"hashCode".equals(m.getName()) && !"toString".equals(m.getName())
- // && !"equals".equals(m.getName()) && !"wait".equals(m.getName()) && !"notifyAll".equals(m.getName()))
- // .collect(Collectors.toList());
- //
- // for (int i = 0; i < methodList.size(); i++) {
- // Method method = methodList.get(i);
- // if (method.isAnnotationPresent(AuthHandler.class)) {
- // //鑾峰彇绫讳笂璇锋眰鍦板潃
- // RequestMapping annotation = c.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]);
- // }
- // 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();
- // }
- // Map<String, Object> map = new HashMap<String, Object>();
- // map.put("url", builder);
- // map.put("name", apiInfo);
- // urlList.add(map);
- // requestListInfo.add(map);
- // }
- // }
- //});
- //requestListInfo.forEach(System.out::println);
- //List<Map<String, Object>> allInterfaces = roleManageMapper.getAllInterfaces();
- //System.out.println(requestListInfo.size());
- //List<Map<String, Object>> mapList = urlList.stream().filter(item -> !allInterfaces.stream()
- // .map(e -> e).distinct().collect(Collectors.toList())
- // .contains(item))
- // .collect(Collectors.toList());
- //System.out.println("=======================");
- //mapList.forEach(System.out::println);
+ log.info("瀹瑰櫒鐢熸垚涔嬪悗鎵ц");
+ List<Class<?>> classList = MyClassUtil.getClassList("com.yuanchu.limslaboratory.controller");
+ List<Map<String, String>> requestListInfo = new ArrayList<Map<String, String>>();
+ classList.stream().forEach(c -> {
+ Method[] methods = c.getMethods();
+ //鍘绘帀瀵硅薄鏂规硶
+ List<Method> methodList = Arrays.stream(methods)
+ .filter(m -> !"notify".equals(m.getName()) && !"getClass".equals(m.getName())
+ && !"hashCode".equals(m.getName()) && !"toString".equals(m.getName())
+ && !"equals".equals(m.getName()) && !"wait".equals(m.getName()) && !"notifyAll".equals(m.getName()))
+ .collect(Collectors.toList());
+
+ for (int i = 0; i < methodList.size(); i++) {
+ Method method = methodList.get(i);
+ boolean annotationPresent = method.isAnnotationPresent(AuthHandler.class);
+ if (annotationPresent&&method.getAnnotation(AuthHandler.class).isAdd()) {
+ //鑾峰彇绫讳笂璇锋眰鍦板潃
+ RequestMapping annotation = c.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]);
+ }
+ 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();
+ }
+ Map<String, String> map = new HashMap<String, String>();
+ AuthHandler auth = method.getAnnotation(AuthHandler.class);
+ map.put("menuId", String.valueOf(auth.menuId().getId()));
+ map.put("type",String.valueOf(auth.type().getNum()));
+ map.put("url", builder.toString());
+ map.put("name", apiInfo);
+ requestListInfo.add(map);
+ }
+ }
+ });
+ List<Map<String, String>> allInterfaces = roleManageMapper.getAllInterfaces();
+ List<Map<String, String>> differentMaps = requestListInfo.stream()
+ .filter(map1 -> allInterfaces.stream()
+ .map(map2 -> map2.get("url")) // 鑾峰彇鎸囧畾閿殑鍊�
+ .noneMatch(value2 -> value2.equals(map1.get("url"))) // 鏌ユ壘涓嶅悓鐨勫��
+ ).collect(Collectors.toList());
+ if(differentMaps.size()>0){
+
+ int insertInterfaceList = roleManageMapper.insertInterfaceList(differentMaps);
+ if (insertInterfaceList>0) log.info(String.valueOf(differentMaps));log.info("鏂板鎺ュ彛鎴愬姛锛�");
+ }else {
+ log.info("鏃犻渶澧炲姞鏂扮殑鎺ュ彛锛�");
+ }
+
}
--
Gitblit v1.9.3