diff --git a/pom.xml b/pom.xml
index 887820c..1b52234 100644
--- a/pom.xml
+++ b/pom.xml
@@ -200,6 +200,12 @@
${ruoyi.version}
+
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+ 2.1.0
+
+
com.github.xiaoymin
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 63aa423..332dfa8 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -1,7 +1,6 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
ruoyi
com.ruoyi
@@ -69,6 +68,18 @@
com.ruoyi
ruoyi-online
+
+
+
+ com.github.xiaoymin
+ knife4j-openapi3-jakarta-spring-boot-starter
+
+
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
+
+
+
diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 820067e..e90b605 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -142,8 +142,8 @@
- com.github.xiaoymin
- knife4j-openapi3-jakarta-spring-boot-starter
+ org.springdoc
+ springdoc-openapi-starter-webmvc-ui
diff --git a/ruoyi-online/src/main/java/com/ruoyi/online/config/SqlMapperConfiguration.java b/ruoyi-online/src/main/java/com/ruoyi/online/config/SqlMapperConfiguration.java
deleted file mode 100644
index 2166b17..0000000
--- a/ruoyi-online/src/main/java/com/ruoyi/online/config/SqlMapperConfiguration.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.ruoyi.online.config;
-
-import org.apache.ibatis.session.SqlSession;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import com.ruoyi.online.utils.SqlMapper;
-
-@Configuration
-public class SqlMapperConfiguration {
- @Autowired
- private SqlSessionFactory sqlSessionFactory;
-
- @Bean
- public SqlMapper getSqlMapper() {
- SqlSession sqlSession = sqlSessionFactory.openSession();
- return new SqlMapper(sqlSession);
- }
-}
diff --git a/ruoyi-online/src/main/java/com/ruoyi/online/controller/OnLineController.java b/ruoyi-online/src/main/java/com/ruoyi/online/controller/OnLineController.java
index 390e39f..d0f12de 100644
--- a/ruoyi-online/src/main/java/com/ruoyi/online/controller/OnLineController.java
+++ b/ruoyi-online/src/main/java/com/ruoyi/online/controller/OnLineController.java
@@ -6,6 +6,8 @@ import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -35,15 +37,9 @@ public class OnLineController extends BaseController {
private PermissionService permissionService;
@Autowired
- private SqlMapper sqlMapper;
+ private SqlSessionFactory sqlSessionFactory;
- @RequestMapping("/api/**")
- public Object api(@RequestParam(required = false) HashMap params,
- @RequestBody(required = false) HashMap data, HttpServletRequest request,
- HttpServletResponse response) {
- OnlineMb selectOnlineMb = new OnlineMb();
- selectOnlineMb.setPath(request.getRequestURI().replace("/online/api", ""));
- selectOnlineMb.setMethod(request.getMethod());
+ public Map getParams(HashMap params, HashMap data) {
Map object = new HashMap<>();
HashMap object_params = new HashMap();
String keyregex = "params\\[(.*?)\\]";
@@ -66,6 +62,47 @@ public class OnLineController extends BaseController {
object.putAll(data);
}
object.put("params", object_params);
+ return data;
+ }
+
+ public Boolean checkPermission(String permission) {
+ return switch (permission) {
+ case "hasPermi" -> permissionService.hasPermi(permission);
+ case "lacksPermi" -> !permissionService.lacksPermi(permission);
+ case "hasAnyPermi" -> permissionService.hasAnyPermi(permission);
+ case "hasRole" -> permissionService.hasRole(permission);
+ case "lacksRole" -> !permissionService.lacksRole(permission);
+ case "hasAnyRoles" -> permissionService.hasAnyRoles(permission);
+ default -> true;
+ };
+ }
+
+ public Object processingMapper(String sqlContext, String actuatot, Map params) {
+ String sql = "";
+ SqlSession sqlSession = sqlSessionFactory.openSession();
+ SqlMapper sqlMapper = new SqlMapper(sqlSession);
+ Object res = null;
+ res = switch (actuatot) {
+ case "selectList" -> getDataTable(sqlMapper.selectList(sql, params));
+ case "insert" -> toAjax(sqlMapper.insert(sql, params));
+ case "selectOne" -> success(sqlMapper.selectOne(sql, params));
+ case "update" -> toAjax(sqlMapper.update(sql, params));
+ case "delete" -> toAjax(sqlMapper.delete(sql, params));
+ default -> AjaxResult.error(500, "系统错误,执行器错误");
+ };
+ sqlSession.close();
+ return res;
+ }
+
+ @RequestMapping("/api/**")
+ public Object api(@RequestParam(required = false) HashMap params,
+ @RequestBody(required = false) HashMap data, HttpServletRequest request,
+ HttpServletResponse response) {
+ OnlineMb selectOnlineMb = new OnlineMb();
+ selectOnlineMb.setPath(request.getRequestURI().replace("/online/api", ""));
+ selectOnlineMb.setMethod(request.getMethod());
+
+ Map object = getParams(params, data);
List selectOnlineMbList = onlineMbService.selectOnlineMbList(selectOnlineMb);
if (selectOnlineMbList.size() == 0) {
@@ -74,20 +111,9 @@ public class OnLineController extends BaseController {
return AjaxResult.error(500, "系统错误,在线接口重复");
} else {
OnlineMb onlineMb = selectOnlineMbList.get(0);
- boolean permissionFlag = true;
- if (onlineMb.getPermissionType() != null) {
- switch (onlineMb.getPermissionType()) {
- case "hasPermi" -> permissionFlag = permissionService.hasPermi(onlineMb.getPermissionValue());
- case "lacksPermi" -> permissionFlag = !permissionService.lacksPermi(onlineMb.getPermissionValue());
- case "hasAnyPermi" -> permissionFlag = permissionService.hasAnyPermi(onlineMb.getPermissionValue());
- case "hasRole" -> permissionFlag = permissionService.hasRole(onlineMb.getPermissionValue());
- case "lacksRole" -> permissionFlag = !permissionService.lacksRole(onlineMb.getPermissionValue());
- case "hasAnyRoles" -> permissionFlag = permissionService.hasAnyRoles(onlineMb.getPermissionValue());
- }
- }
- if (!permissionFlag) {
+ if (!checkPermission(onlineMb.getPermissionValue()))
return AjaxResult.error(403, "没有权限,请联系管理员授权");
- }
+
if (onlineMb.getDeptId() != null && onlineMb.getDeptId().equals("1")) {
object.put("deptId", SecurityUtils.getDeptId());
}
@@ -95,15 +121,7 @@ public class OnLineController extends BaseController {
object.put("userId", SecurityUtils.getUserId());
}
- String sql = "";
- return switch (onlineMb.getActuator()) {
- case "selectList" -> getDataTable(sqlMapper.selectList(sql, object));
- case "insert" -> toAjax(sqlMapper.insert(sql, object));
- case "selectOne" -> success(sqlMapper.selectOne(sql, object));
- case "update" -> toAjax(sqlMapper.update(sql, object));
- case "delete" -> toAjax(sqlMapper.delete(sql, object));
- default -> AjaxResult.error(500, "系统错误,执行器错误");
- };
+ return processingMapper(onlineMb.getSql(), onlineMb.getActuator(), object);
}
}
diff --git a/ruoyi-online/src/main/java/com/ruoyi/online/service/impl/OnlineMbServiceImpl.java b/ruoyi-online/src/main/java/com/ruoyi/online/service/impl/OnlineMbServiceImpl.java
index 09460c1..5d839ea 100644
--- a/ruoyi-online/src/main/java/com/ruoyi/online/service/impl/OnlineMbServiceImpl.java
+++ b/ruoyi-online/src/main/java/com/ruoyi/online/service/impl/OnlineMbServiceImpl.java
@@ -1,10 +1,12 @@
package com.ruoyi.online.service.impl;
import java.util.List;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.ruoyi.online.mapper.OnlineMbMapper;
+
import com.ruoyi.online.domain.OnlineMb;
+import com.ruoyi.online.mapper.OnlineMbMapper;
import com.ruoyi.online.service.IOnlineMbService;
/**