mirror of
https://gitee.com/ssssssss-team/magic-boot.git
synced 2026-05-15 00:00:02 +08:00
升级magic-api 2.0 增加操作日志、登录日志
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@
|
||||
<description>magic-boot</description>
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<magic-api.version>1.7.5</magic-api.version>
|
||||
<magic-api.version>2.0.0-beta.2</magic-api.version>
|
||||
<druid.version>1.2.1</druid.version>
|
||||
<hutool-all.version>5.7.13</hutool-all.version>
|
||||
<sa-token.version>1.26.0</sa-token.version>
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
package org.ssssssss.magicboot.extension;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.ssssssss.magicapi.modules.table.NamedTable;
|
||||
import org.ssssssss.magicapi.modules.db.table.NamedTable;
|
||||
import org.ssssssss.magicboot.model.MagicBootConstants;
|
||||
import org.ssssssss.script.annotation.Comment;
|
||||
import org.ssssssss.script.functions.ExtensionMethod;
|
||||
|
||||
+4
-3
@@ -4,10 +4,11 @@ import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.context.request.RequestAttributes;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
import org.ssssssss.magicapi.context.RequestContext;
|
||||
import org.ssssssss.magicapi.modules.ResponseModule;
|
||||
import org.ssssssss.magicapi.core.context.RequestContext;
|
||||
import org.ssssssss.magicapi.modules.servlet.ResponseModule;
|
||||
import org.ssssssss.script.annotation.Comment;
|
||||
import org.ssssssss.script.functions.ExtensionMethod;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -36,4 +37,4 @@ public class ResponseFunctionExtension implements ExtensionMethod {
|
||||
return responseModule.end();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+5
-4
@@ -3,13 +3,14 @@ package org.ssssssss.magicboot.interceptor;
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.ssssssss.magicapi.interceptor.NamedTableInterceptor;
|
||||
import org.ssssssss.magicapi.model.SqlMode;
|
||||
import org.ssssssss.magicapi.modules.table.NamedTable;
|
||||
import static org.ssssssss.magicboot.model.MagicBootConstants.*;
|
||||
import org.ssssssss.magicapi.modules.db.inteceptor.NamedTableInterceptor;
|
||||
import org.ssssssss.magicapi.modules.db.model.SqlMode;
|
||||
import org.ssssssss.magicapi.modules.db.table.NamedTable;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import static org.ssssssss.magicboot.model.MagicBootConstants.*;
|
||||
|
||||
@Component
|
||||
public class NamedTableHandlerInterceptor implements NamedTableInterceptor {
|
||||
|
||||
|
||||
+39
-5
@@ -1,29 +1,42 @@
|
||||
package org.ssssssss.magicboot.interceptor;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.annotation.Order;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.ssssssss.magicapi.interceptor.RequestInterceptor;
|
||||
import org.ssssssss.magicapi.model.ApiInfo;
|
||||
import org.ssssssss.magicapi.model.Options;
|
||||
import org.ssssssss.magicapi.provider.MagicAPIService;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
import org.ssssssss.magicapi.core.context.RequestEntity;
|
||||
import org.ssssssss.magicapi.core.interceptor.RequestInterceptor;
|
||||
import org.ssssssss.magicapi.core.model.ApiInfo;
|
||||
import org.ssssssss.magicapi.core.model.Options;
|
||||
import org.ssssssss.magicapi.core.service.MagicAPIService;
|
||||
import org.ssssssss.magicapi.core.service.MagicResourceService;
|
||||
import org.ssssssss.magicapi.utils.PathUtils;
|
||||
import org.ssssssss.magicboot.model.StatusCode;
|
||||
import org.ssssssss.script.MagicScriptContext;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
@Order(1)
|
||||
public class PermissionInterceptor implements RequestInterceptor {
|
||||
public class PermissionInterceptor implements RequestInterceptor, HandlerInterceptor {
|
||||
|
||||
@Autowired
|
||||
MagicAPIService magicAPIService;
|
||||
|
||||
@Autowired
|
||||
MagicResourceService magicResourceService;
|
||||
|
||||
@Autowired
|
||||
private JdbcTemplate template;
|
||||
|
||||
/*
|
||||
* 当返回对象时,直接将此对象返回到页面,返回null时,继续执行后续操作
|
||||
*/
|
||||
@@ -46,4 +59,25 @@ public class PermissionInterceptor implements RequestInterceptor {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object postHandle(RequestEntity requestEntity, Object returnValue) throws Exception {
|
||||
try {
|
||||
HttpServletRequest request = requestEntity.getRequest();
|
||||
ApiInfo info = requestEntity.getApiInfo();
|
||||
template.update("insert into sys_oper_log(api_name, api_path, api_method, cost_time, create_by, create_date, user_agent, user_ip) values(?,?,?,?,?,?,?,?)",
|
||||
// PathUtils.replaceSlash(groupServiceProvider.getFullName(info.getGroupId()) + "/" + info.getName()).replace("/","-"),
|
||||
PathUtils.replaceSlash(String.format("/%s/%s", magicResourceService.getGroupName(info.getGroupId()), info.getName())),
|
||||
request.getRequestURI(),
|
||||
request.getMethod(),
|
||||
System.currentTimeMillis() - requestEntity.getRequestTime(),
|
||||
StpUtil.getLoginId(),
|
||||
new Date(requestEntity.getRequestTime()),
|
||||
request.getHeader("User-Agent"),
|
||||
ServletUtil.getClientIP(request));
|
||||
} catch (Exception ignored){
|
||||
ignored.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.ssssssss.magicboot.model;
|
||||
|
||||
import org.ssssssss.magicapi.model.JsonBean;
|
||||
import org.ssssssss.magicapi.core.model.JsonBean;
|
||||
|
||||
public enum StatusCode {
|
||||
|
||||
|
||||
@@ -37,19 +37,19 @@ magic-api:
|
||||
web: /magic/web
|
||||
show-sql: true #配置打印SQL
|
||||
sql-column-case: camel
|
||||
page-config:
|
||||
page: current
|
||||
size: size
|
||||
cache-config:
|
||||
enable: true #开启缓存,默认是不开启的
|
||||
ttl: 3600000 #有效期1小时,默认-1 即永不过期
|
||||
resource:
|
||||
location: data/magic-api
|
||||
response-code-config:
|
||||
page:
|
||||
page: current
|
||||
size: size
|
||||
cache:
|
||||
enable: true #开启缓存,默认是不开启的
|
||||
ttl: 3600000 #有效期1小时,默认-1 即永不过期
|
||||
response-code:
|
||||
success: 200 #执行成功的code值
|
||||
invalid: 400 #参数验证未通过的code值
|
||||
exception: 500 #执行出现异常的code值
|
||||
crud-config: # CRUD相关配置
|
||||
crud: # CRUD相关配置
|
||||
logic-delete-column: is_del #逻辑删除列
|
||||
logic-delete-value: 1 #逻辑删除值
|
||||
# security-config:
|
||||
|
||||
Reference in New Issue
Block a user