Browse Source

sql 列表调整完成

david 2 years ago
parent
commit
ff8a963625

BIN
out/artifacts/roma_api_jar/roma-api.jar


+ 18 - 0
src/main/java/com/roma/romaapi/controller/ApiController.java

@@ -147,6 +147,24 @@ public class ApiController {
         return CustomResponse.formatResponse(ret);
     }
 
+    // sql管理-获取sql详情
+    @RequestMapping("/api/sqlDetailed")
+    public Map sqlDetailed(HttpServletRequest request, @RequestBody String data) {
+        Map maps = commonUtil.analysisRequestParams(request, data); // 参数
+        Map ret = apiService.sqlDetailById(maps);
+
+        return CustomResponse.formatResponse(ret);
+    }
+
+    // basic基础管理-删除对应数据
+    @RequestMapping("/api/deleteBasic")
+    public Map deleteBasic(HttpServletRequest request, @RequestBody String data) {
+        Map maps = commonUtil.analysisRequestParams(request, data); // 参数
+        Map ret = apiService.delDetailById(maps);
+
+        return CustomResponse.formatResponse(ret);
+    }
+
     // sql管理-新增和编辑Sql
     @RequestMapping("/api/sqlSave")
     public Map sqlSave(HttpServletRequest request, @RequestBody String data, @RequestHeader("Authorization") String authorization) {

+ 19 - 0
src/main/java/com/roma/romaapi/dao/ApiDao.java

@@ -365,4 +365,23 @@ public class ApiDao {
             return 0;
         }
     }
+
+    // 判断基础表数据,是否被权限表引用. 返回true表示没有数据被权限表引用
+    public Boolean usedPermissionByObjectId(Map bindValue){
+        String hasUserSql = " SELECT * FROM `roma_permissions` WHERE `object_type`=:objectType AND `object_id`=:objectId ";
+        List<Map<String, Object>> resMap2 = namedParameterJdbcTemplate.queryForList(hasUserSql, bindValue);
+        if (resMap2 == null || resMap2.size() < 1) {
+            return true;
+        }
+
+        return false;
+    }
+
+    // 没有被权限使用,则删除基础details表数据
+    public Integer deleteDetailsDataByTableNameAndId(Map bindValue, String tableName) {
+        String sql = " DELETE FROM `"+tableName+"` WHERE id=:id ";
+        Integer updateRet = namedParameterJdbcTemplate.update(sql, bindValue);
+
+        return updateRet;
+    }
 }

+ 57 - 2
src/main/java/com/roma/romaapi/service/ApiService.java

@@ -189,6 +189,56 @@ public class ApiService {
         return info;
     }
 
+    // 获取sql详情
+    public Map sqlDetailById(Map params) {
+        String id = params.get("id").toString();
+        Map info = apiDao.getDetailsInfoByIdAndType("sql_details", id);
+        // 判断,如果是update行为,则默认is_list的值为1
+        if(info.get("sql_type").toString().equals("update") && info.get("is_list").toString().equals("0")) {
+            info.put("is_list", "1");
+        }
+
+        return info;
+    }
+
+    // 删除对应基础表数据
+    public Map delDetailById(Map params) {
+        Map ret = new HashMap<>();
+        String id = params.get("id").toString();
+        String action = params.get("action").toString();
+        String table = "";
+        // 判断是否还有权限在使用此基础数据,如果有则不能删除
+        if (action.equals("sql")) {
+            table = "sql_details";
+        } else if (action.equals("item")) {
+            table = "item_details";
+        } else if (action.equals("api")) {
+            table = "api_details";
+        } else if (action.equals("page")) {
+            table = "page_details";
+        }
+        Map hasUsedByPermission = new HashMap<>();
+        hasUsedByPermission.put("objectType", action);
+        hasUsedByPermission.put("objectId", id);
+        Boolean isUsedPermission = apiDao.usedPermissionByObjectId(hasUsedByPermission);
+        if(!isUsedPermission) {
+            // 如果有被权限引用,则提示不能删除
+            ret.put("sysErrorCode", "51000");
+            ret.put("sysErrorMessage", "此数据被权限使用中,无法删除");
+
+            return ret;
+        }
+        // 删除基础表数据
+        Map deleteParams = new HashMap<>();
+        deleteParams.put("id", id);
+        Integer delRet = apiDao.deleteDetailsDataByTableNameAndId(deleteParams, table);
+        if (delRet < 1) {
+            ret.put("sysErrorCode", "51000");
+        }
+
+        return ret;
+    }
+
     // 获取全部page_details---配置权限关联page使用,无分页
     public List pageList() {
         Map<String, Object> map = new HashMap<>();
@@ -547,9 +597,12 @@ public class ApiService {
     // 添加sql_details表数据
     public Map addSql(Map maps, String authorization) {
         String sqlDesc = "";
-        String isList = maps.get("is_list").toString();
+        String isList = "0";
+        if (maps.containsKey("is_list")) {
+            isList = maps.get("is_list").toString();
+        }
         String sqlType = maps.get("sql_type").toString();
-        String isEnable = maps.get("is_enable").toString();
+        String isEnable = "1";//maps.get("is_enable").toString();
         String sqlCode = maps.get("sql_code").toString();
         String sqlName = maps.get("sql_name").toString();
         String sqlString = maps.get("sql_string").toString();
@@ -753,6 +806,8 @@ public class ApiService {
         List<Map<String, Object>> pList = new ArrayList<Map<String, Object>>();// eTree
         // 获取父节点
         for (Map<String, Object> tmp : renderMenu) {
+            // 塞个8
+            tmp.put("hidden_user_permission", "8");
             Object parentId =  tmp.get("parent_id");
             String stringParentId = parentId.toString();// 上级id
             Object dataId = tmp.get("id");

+ 1 - 1
src/main/java/com/roma/romaapi/service/PageService.java

@@ -53,7 +53,7 @@ public class PageService {
                     if(path == null || path.equals("")) {
 
                     } else {
-                        tempMap.put("url", (String) map.get("url"));
+                        tempMap.put("url", (String) map.get("path"));
                         tempMap.put("schemaApi", "/page/"+path);
                     }
                     break;

+ 1 - 1
src/main/resources/application.properties

@@ -1 +1 @@
-#服务
server.port=8056
server.servlet.session.timeout=600

#数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://172.27.254.70:3306/lowcode?serverTimezone=UTC&tinyInt1isBit=false&transformedBitIsBoolean=false
spring.datasource.username = root
spring.datasource.password = mypass

#redis
spring.redis.database=0
spring.redis.password=
#spring.redis.password=name:password
spring.redis.port=6379
spring.redis.host=127.0.0.1
spring.redis.timeout=5000

## 文件上传地址
upload.path = D:/javaupload
+#服务
server.port=8056
server.servlet.session.timeout=600

#数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url = jdbc:mysql://172.19.152.218:3306/lowcode?serverTimezone=UTC&tinyInt1isBit=false&transformedBitIsBoolean=false
spring.datasource.username = root
spring.datasource.password = mypass

#redis
spring.redis.database=0
spring.redis.password=
#spring.redis.password=name:password
spring.redis.port=6379
spring.redis.host=127.0.0.1
spring.redis.timeout=5000

## 文件上传地址
upload.path = D:/javaupload