🐛 增加日志类型、判断文件类型记录文件名称 #I5SYLB
This commit is contained in:
mlzhang 2022-09-25 03:39:58 +08:00
parent 808cda3277
commit b20738061e
4 changed files with 48 additions and 3 deletions

View File

@ -13,4 +13,10 @@ public @interface Log {
*/
String title() default "";
/**
* 模块
* @return String
*/
RequestType requestType() default RequestType.Default;
}

View File

@ -16,12 +16,18 @@ import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.util.MultiValueMap;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Aspect
@Component
@ -96,9 +102,24 @@ public class LogAspect {
String queryString = request.getQueryString();
Object[] args = joinPoint.getArgs();
String params = "";
if(args.length>0){
if (args.length > 0) {
if("POST".equals(request.getMethod())){
params = JSON.toJSONString(args);
if (RequestType.File.equals(logAnnotation.requestType())){
//文件类型获取文件名称作为参数
StandardMultipartHttpServletRequest standardMultipartHttpServletRequest = (StandardMultipartHttpServletRequest) args[0];
//提取文件名
params = standardMultipartHttpServletRequest
.getMultiFileMap()
.values()
.stream()
.map(m -> m.stream()
.map(mf-> mf.getOriginalFilename())
.collect(Collectors.joining(",")))
.collect(Collectors.joining(","));
} else {
params = JSON.toJSONString(args);
}
} else if("GET".equals(request.getMethod())){
params = queryString;
}

View File

@ -0,0 +1,17 @@
package com.mdd.admin.config.aop;
/**
* 请求参数类
*/
public enum RequestType {
/**
* 文件类型
*/
File,
/**
* 默认数据类型
*/
Default
;
}

View File

@ -2,6 +2,7 @@ package com.mdd.admin.controller.common;
import com.mdd.admin.LikeAdminThreadLocal;
import com.mdd.admin.config.aop.Log;
import com.mdd.admin.config.aop.RequestType;
import com.mdd.admin.service.common.IAlbumService;
import com.mdd.common.core.AjaxResult;
import com.mdd.common.enums.AlbumEnum;
@ -36,7 +37,7 @@ public class UploadController {
* @param request 请求对象
* @return Object
*/
@Log(title = "上传图片")
@Log(title = "上传图片", requestType = RequestType.File)
@PostMapping("/image")
public Object image(HttpServletRequest request) {
MultipartFile multipartFile;