shikeying
2024-04-07 52c8ee3120e4a44e48e217bced6f6c799ff7980c
iplatform-base/src/main/java/com/iplatform/base/support/LogAspect.java
@@ -9,6 +9,7 @@
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.Constants;
import com.walker.web.ResponseCode;
import com.walker.web.WebRuntimeException;
import com.walker.web.log.BusinessType;
import com.walker.web.log.Log;
import com.walker.web.util.IpUtils;
@@ -92,7 +93,13 @@
    private void handleLog(final JoinPoint joinPoint, Log logAnnotation, final Exception e, Object jsonResult){
        try{
            S_oper_log s_oper_log = new S_oper_log();
            S_user_core user_core = this.securitySpi.getCurrentUser();
//            S_user_core user_core = this.securitySpi.getCurrentUser();
            S_user_core user_core = null;
            try {
                user_core = this.securitySpi.getCurrentUser();
            } catch (WebRuntimeException ex) {
                logger.debug("该接口无需认证,无法找到当前人信息");
            }
            if(user_core != null){
                s_oper_log.setOper_name(user_core.getUser_name());
            }
@@ -128,9 +135,24 @@
                        s_oper_log.setOper_param(params);
                    }
                } else {
                    Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
                    if(paramsMap != null){
                        s_oper_log.setOper_param(StringUtils.substring(paramsMap.toString(), 0, MAX_DATA_SIZE));
                    String queryString = ServletUtils.getRequest().getQueryString();
//                    Object param2 = ServletUtils.getRequest().getAttribute(HandlerMapping.MATRIX_VARIABLES_ATTRIBUTE);
//                    Object param3 = ServletUtils.getRequest().getAttribute(HandlerMapping.PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE);
//                    logger.debug(queryString);
//                    logger.debug("param2 = {}", param2);
//                    logger.debug("param3 = {}", param3);
                    if(StringUtils.isEmpty(queryString)){
                        Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
                        if(paramsMap != null){
                            queryString = paramsMap.toString();
                        }
                    }
                    if(StringUtils.isNotEmpty(queryString)){
                        if(queryString.length() > MAX_DATA_SIZE){
                            s_oper_log.setOper_param(StringUtils.substring(queryString, 0, MAX_DATA_SIZE));
                        } else {
                            s_oper_log.setOper_param(queryString);
                        }
                    }
                }
            }