Просмотр исходного кода

知识库——子系统配置 V1.5
添加获取菜单sql接口

hyq 1 год назад
Родитель
Сommit
567a2c334b

+ 12 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/SubConfigService.java

@@ -23,4 +23,16 @@ public interface SubConfigService {
      * @author shangmi
      */
     R getModulesById(String id);
+
+    /**
+     * 通过菜单ID查询该菜单的SQL
+     *
+     * @param id 菜单ID
+     * @return {@link R}
+     * @date 2024/1/12 17:38
+     * @author shangmi
+     *
+     */
+
+    R getTableSqlByModuleId(String id);
 }

+ 27 - 0
cx-knowledge-base/cx-knowledge-base-common/src/main/java/com/rongwei/bscommon/sys/service/impl/SubConfigServiceImpl.java

@@ -38,6 +38,11 @@ public class SubConfigServiceImpl implements SubConfigService {
             "dict", "customapi", "custom", "sql", "pagesource",
             "customApiUrl", "customEnum", "customSql", "cacheIdSql"
     };
+
+    private final String[] UNDERLYING_CONFIG = {
+            "roption","dataSource","formData","mainsql"
+    };
+
     @Autowired
     private RwAdminFeign rwAdminFeign;
 
@@ -75,6 +80,28 @@ public class SubConfigServiceImpl implements SubConfigService {
         return R.ok(res);
     }
 
+    @Override
+    public R getTableSqlByModuleId(String id) {
+
+        R sysModule = rwAdminFeign.infoSysModule(id);
+        // 获得pagePartID
+        JSONObject module = JSONUtil.parseObj(sysModule.getData());
+        Object urlAddr = module.get(JSON_NAME[0]);
+        if (urlAddr == null) {
+            return R.error("该菜单未配置编辑页或页编辑,请重新选择!");
+        }
+        String[] split = urlAddr.toString().split("/");
+        String pagePartId = split[split.length - 1];
+
+        if (pagePartId == null) {
+            return null;
+        }
+        R sysPagePart = rwAdminFeign.infoPagePart(pagePartId);
+        //提取JSON中的sql
+        return R.ok(JSONUtil.parseObj(JSONUtil.parseObj(JSONUtil.parseObj(JSONUtil.parseObj(sysPagePart.getData())
+                .get(UNDERLYING_CONFIG[0])).get(UNDERLYING_CONFIG[1])).get(UNDERLYING_CONFIG[2])).get(UNDERLYING_CONFIG[3]));
+    }
+
 
     /**
      * 根据pagePartID查到该ID

+ 23 - 0
cx-knowledge-base/cx-knowledge-base-server/src/main/java/com/rongwei/bsserver/sys/controller/SubConfigController.java

@@ -47,4 +47,27 @@ public class SubConfigController {
             return R.error(e.getMessage());
         }
     }
+
+
+    /**
+     * 查询菜单字段详细
+     *
+     * @param id 菜单ID
+     * @return {@link List < KdSubsystemDetailVo>}
+     * @date 2024/1/8 11:48
+     * @author shangmi
+     *
+     */
+
+    @PostMapping("/getTableIdByModuleId")
+    public R getTableSqlByModuleId(@RequestParam String id){
+        try {
+            log.info("进入接口:/subsystem-config/getTableIdByModuleId,入参为:{}",id);
+            return subConfigService.getTableSqlByModuleId(id);
+        }catch (Exception e){
+            ExceptionUtils.printExceptionDetail(e,"异常为:");
+            log.error(e.getMessage());
+            return R.error(e.getMessage());
+        }
+    }
 }