Commit cffbf0e8 by wang_jiaxing

日志切面修改

parent 183ddadc
......@@ -72,6 +72,7 @@ public class BladeConfiguration implements WebMvcConfigurer {
secureRegistry.excludePathPatterns("/*/getFile/**");
secureRegistry.excludePathPatterns("/bbgx/**");
secureRegistry.excludePathPatterns("/bjhc/ktsj/**");
secureRegistry.excludePathPatterns("/forward/method");
// secureRegistry.excludePathPatterns("/**");
/*secureRegistry.excludePathPatterns("/**");
secureRegistry.excludePathPatterns("/ajDetail/**");
......
package org.springblade.founder.forward.controller;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.springblade.founder.log.LogOper;
import org.springblade.founder.utils.HttpUtil;
import org.springblade.founder.utils.R;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.net.InetAddress;
import java.nio.charset.StandardCharsets;
import java.util.Enumeration;
import java.util.HashMap;
......@@ -35,8 +28,8 @@ import java.util.Map;
@RestController
@RequestMapping("/forward")
public class ForwardController {
@Value("${httpUrl}")
private String host = "http://127.0.0.1:9026/";
@Value("${httpUrl}")
private String host;
@RequestMapping("/method")
public R method(HttpServletRequest request) {
......@@ -59,6 +52,14 @@ public class ForwardController {
System.out.println("header:=="+element);
}
}
String ip;
try {
ip = getIp(request);
}catch (Exception e) {
e.printStackTrace();
ip = "127.0.0.1";
}
headers.put("userIp", ip);
if ("post".equalsIgnoreCase(type)) {
String contentType = request.getContentType();
if ("application/json".equals(contentType)) {
......@@ -147,4 +148,34 @@ public class ForwardController {
return R.error(e.getMessage());
}
}
public String getIp(HttpServletRequest request) throws Exception {
String ip = request.getHeader("X-Forwarded-For");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
//有些网络通过多层代理,那么获取到的ip就会有多个,一般都是通过逗号(,)分割开来,并且第一个ip为客户端的真实IP
if (ip != null && ip.length() != 0) {
ip = ip.split(",")[0];
}
if ("127.0.0.1".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) {
ip = InetAddress.getLocalHost().getHostAddress();
}
return ip;
}
}
......@@ -12,4 +12,6 @@ public interface LogDao {
int insertSysLog(SysOperationLog sysOperationLog);
void addGnsyrz(SysGnsyrz sysGnsyrz);
String getImei(String identitycard);
}
......@@ -33,6 +33,12 @@
,cxnrlbdm
,cxnrbh
,cxxxjg
,url
,uri
,response
,response_time
,imei
,yh_jh
)
VALUES(
#{ rzlsh , jdbcType=VARCHAR }
......@@ -65,6 +71,15 @@
,#{ cxnrlbdm , jdbcType=VARCHAR }
,#{ cxnrbh , jdbcType=VARCHAR }
,#{ cxxxjg , jdbcType=VARCHAR }
,#{ url , jdbcType=VARCHAR }
,#{ uri , jdbcType=VARCHAR }
,#{ response , jdbcType=VARCHAR }
,#{ responseTime , jdbcType=VARCHAR }
,#{ imei , jdbcType=VARCHAR }
,#{ yhJh , jdbcType=VARCHAR }
)
</insert>
<select id="getImei" resultType="java.lang.String">
select ip from sys_appsb WHERE bdidcard = #{identitycard}
</select>
</mapper>
......@@ -83,6 +83,30 @@ public class SysGnsyrz {
@ApiModelProperty(value = "操作(查询)信息结果")
private String cxxxjg;
//url
@ApiModelProperty(value = "url")
private String url;
//uri
@ApiModelProperty(value = "uri")
private String uri;
//response
@ApiModelProperty(value = "response")
private String response;
//responseTile
@ApiModelProperty(value = "responseTile")
private String responseTime;
//imei
@ApiModelProperty(value = "imei")
private String imei;
//用户警号
@ApiModelProperty(value = "用户警号")
private String yhJh;
/**
* 登记时间
*/
......
......@@ -4,4 +4,6 @@ import org.springblade.founder.log.entity.SysGnsyrz;
public interface LogMysqlService {
public void addGnsyrz(SysGnsyrz sysGnsyrz);
String getImei(String identitycard);
}
......@@ -21,4 +21,9 @@ public class LogMysqlServiceImpl implements LogMysqlService {
log.error("记录录入功能日志发生异常" + e.getMessage());
}
}
@Override
public String getImei(String identitycard) {
return logDao.getImei(identitycard);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment