package com.fdkankan.common.util;
import cn.hutool.http.ContentType;
import com.alibaba.fastjson.JSON;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.web.multipart.MultipartFile;
/**
*
* TODO
*
*
* @author dengsixing
* @since 2022/6/9
**/
public class WebUtil {
public static Map getParams(JoinPoint pjp, HttpServletRequest request){
// 获取参数名称
String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
//获取请求参数值
Object[] args = pjp.getArgs();
String contentType = request.getContentType();
if(ContentType.JSON.getValue().equals(contentType)){
return JSON.parseObject(JSON.toJSONString(args[0]), HashMap.class);
}
Map paramMap = new HashMap<>();
for (int i = 0; i < args.length; i++) {
if(args[i] instanceof MultipartFile){
paramMap.put(parameterNamesArgs[i], ((MultipartFile) args[i]).getOriginalFilename());
continue;
}
paramMap.put(parameterNamesArgs[i], args[i]);
}
return paramMap;
}
}