Browse Source

bug修复

dengsixing 3 years ago
parent
commit
e799b37cc8

+ 22 - 10
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneListener.java

@@ -368,8 +368,8 @@ public class BuildSceneListener implements RocketMQListener<String> {
                 redisUtil.del(String.format(RedisKey.SCENE_BUILDING, message.getSceneNum()));
 
                 //生成status.json文件
-                this.writeStatusJson(message.getSceneStatus(), message.getWebSite(),
-                    message.getSceneNum(),message.getThumb(),message.getPayStatus());
+                this.upoadLog(message.getSceneStatus(), message.getWebSite(),
+                    message.getSceneNum(),message.getThumb(),message.getPayStatus(), message.getDataSource());
 
                 //如果是重复计算,没有走到计算逻辑,不需要上传日志文件
                 buildLog.setLogDetailPath(prefixAli+ buildLogPath + "console.log");
@@ -378,9 +378,6 @@ public class BuildSceneListener implements RocketMQListener<String> {
             buildLog.setCameraType(Integer.parseInt(buildSceneResult.getCameraType()));
             buildLogService.updateById(buildLog);
 
-            if(buildStatus.equals(ModelingBuildStatus.REPEAT)){
-                return;
-            }
         } catch (Exception e) {
             log.error("计算后业务处理出错!", e);
         }finally {
@@ -484,8 +481,8 @@ public class BuildSceneListener implements RocketMQListener<String> {
         }
     }
 
-    private void writeStatusJson(Integer sceneStatus, String webSite,
-            String projectNum, String thumb, Integer payStatus){
+    private void upoadLog(Integer sceneStatus, String webSite,
+            String num, String thumb, Integer payStatus, String dataSource){
         try{
             JSONObject statusJson = new JSONObject();
             //临时将-2改成1,app还没完全更新
@@ -497,13 +494,28 @@ public class BuildSceneListener implements RocketMQListener<String> {
             }
             statusJson.put("status", sceneStatus);
             statusJson.put("webSite", webSite);
-            statusJson.put("sceneNum", projectNum);
+            statusJson.put("sceneNum", num);
             statusJson.put("thumb", thumb);
             statusJson.put("payStatus", payStatus);
-            FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+projectNum+File.separator+"status.json", statusJson.toString());
+            FileUtils.writeFile(ConstantFilePath.SCENE_PATH+"data/data"+num+File.separator+"status.json", statusJson.toString());
+
+            String dataPath = String.format(UploadFilePath.DATA_VIEW_PATH, num);
+            String buildLogPath = String.format(UploadFilePath.BUILD_LOG_PATH, num);
+
+            //todo 待删除old_path
+            uploadToOssUtil.upload(
+                ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json",
+                "data/data" + num + File.separator + "status.json");
+
+            uploadToOssUtil.upload(
+                ConstantFilePath.SCENE_PATH + "data/data" + num + File.separator + "status.json",
+                dataPath + "status.json");
+
+            uploadToOssUtil.upload(dataSource + File.separator + "console.log",
+                buildLogPath + "console.log");
 
         }catch (Exception e){
-            log.error("生成status.json失败!", e);
+            log.error("上传日志失败!", e);
         }
     }
 

+ 4 - 1
4dkankan-center-platform/src/main/resources/bootstrap-pro.yml

@@ -54,4 +54,7 @@ management:
         include: '*'
   endpoint:
     health:
-      show-details: ALWAYS
+      show-details: ALWAYS
+
+tlog:
+  enable-invoke-time-print: true

+ 30 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/TestController.java

@@ -3,8 +3,11 @@ package com.fdkankan.scene.controller;
 import com.alibaba.druid.pool.DruidDataSource;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.controller.BaseController;
 import com.fdkankan.common.exception.BusinessException;
 import com.fdkankan.common.response.ResultData;
+import com.fdkankan.common.util.SpringUtil;
+import com.fdkankan.mq.message.BuildSceneMqMessage;
 import com.fdkankan.mq.util.RocketMQProducer;
 import com.fdkankan.platform.api.feign.PlatformGoodsClient;
 import com.fdkankan.platform.api.feign.PlatformUserClient;
@@ -22,12 +25,17 @@ import com.fdkankan.scene.vo.SceneVO;
 import com.fdkankan.scene.vo.UploadPanoramaVO;
 import com.google.common.collect.Lists;
 import com.sun.org.apache.bcel.internal.generic.RETURN;
+import com.yomahub.tlog.core.mq.TLogMqWrapBean;
+import com.yomahub.tlog.id.TLogIdGenerator;
 import java.util.ArrayList;
+import java.util.Enumeration;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import javax.swing.Spring;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.producer.MQProducer;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
@@ -50,7 +58,7 @@ import org.springframework.web.multipart.MultipartFile;
 @RestController
 @RequestMapping("/api/scene/test")
 @Slf4j
-public class TestController {
+public class TestController extends BaseController {
 
 
 
@@ -110,10 +118,27 @@ public class TestController {
 //            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
 //        }
 
-        ArrayList<String> strings = new ArrayList<>();
-        strings.add("1.jpg");
-        strings.add("2.jpg");
-        return ResultData.ok(new UploadPanoramaVO(5, strings));
+//        ArrayList<String> strings = new ArrayList<>();
+//        strings.add("1.jpg");
+//        strings.add("2.jpg");
+//        return ResultData.ok(new UploadPanoramaVO(5, strings));
+
+//        BuildSceneMqMessage buildSceneMqMessage = new BuildSceneMqMessage();
+//        buildSceneMqMessage.setFileId("123123123123");
+//        TLogMqWrapBean<BuildSceneMqMessage> tLogMqWrap = new TLogMqWrapBean(buildSceneMqMessage);
+//        rocketMQProducer.syncSend("test_topic_dsx", tLogMqWrap);
+
+        ResultData<Camera> cameraById = platformGoodsClient.getCameraById(123L);
+        Enumeration<String> headerNames = request.getHeaderNames();
+        while (headerNames.hasMoreElements()){
+            String s = headerNames.nextElement();
+            log.info(s + "=" + request.getHeader(s));
+        }
+
+        TLogIdGenerator bean = SpringUtil.getBean(TLogIdGenerator.class);
+        log.info(bean.generateTraceId());
+
+        return ResultData.ok();
 
     }
 

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/BuildScenePreMQListener.java

@@ -104,7 +104,7 @@ public class BuildScenePreMQListener implements RocketMQListener<String> {
         boolean success = false;
         String reason = null;
         try {
-            String key = RedisKey.SCENE_BUILDING + message.getSceneNum();
+            String key = String.format(RedisKey.SCENE_BUILDING, message.getSceneNum());
             Long building = redisUtil.incr(key, 1);
             if (building.compareTo(1L) != 0) {
                 log.error("场景正在构建中,退出构建,参数:{}", JSONObject.toJSONString(message));

+ 2 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/BuildSceneResultMQListener.java

@@ -226,8 +226,8 @@ public class BuildSceneResultMQListener implements RocketMQListener<String> {
             //计算成功,发短信
             buildScenePreService.sendSms(pushChannel,pushToken, cameraType, scenePro.getSceneName(), scenePro.getWebSite());
 
-            //上传日志文件
-            buildScenePreService.uploadLogFile(sceneCode, sceneProExt.getDataSource());
+//            //上传日志文件
+//            buildScenePreService.uploadLogFile(sceneCode, sceneProExt.getDataSource());
 
             //写scene.json
             String sceneJson = buildScenePreService.writeSceneJson(sceneCode, videosJson,

+ 39 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener.java

@@ -1,5 +1,11 @@
 package com.fdkankan.scene.listener;
 
+import com.alibaba.fastjson.JSON;
+import com.fdkankan.mq.message.BuildSceneMqMessage;
+import com.fdkankan.mq.util.RocketMQProducer;
+import com.yomahub.tlog.core.mq.TLogMqConsumerProcessor;
+import com.yomahub.tlog.core.mq.TLogMqRunner;
+import com.yomahub.tlog.core.mq.TLogMqWrapBean;
 import lombok.Data;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -7,6 +13,7 @@ import org.apache.rocketmq.spring.annotation.ConsumeMode;
 import org.apache.rocketmq.spring.annotation.MessageModel;
 import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
 import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
@@ -21,28 +28,42 @@ import org.springframework.stereotype.Component;
         consumeTimeout = 7200000L
 )
 @Data
-public class TestListener implements RocketMQListener<String> {
+public class TestListener implements RocketMQListener<TLogMqWrapBean<BuildSceneMqMessage>> {
 
     @Value("${rocketmq.build-scene-result.topicName.topic-modeling-a}")
     private String buildSceneResultTopic;
+    @Autowired
+    private RocketMQProducer rocketMQProducer;
+
+
+//    @SneakyThrows
+//    @Override
+//    public void onMessage(String message) {
+//
+//        System.out.println("开始消费:" + message + "线程id=" + Thread.currentThread().getName());
+//
+//        buildSceneResultTopic = "123123123123";
+//
+//
+//        Thread.sleep(3600000L);
+//
+//
+//
+//        System.out.println("结束消费:" + message);
+//
+//
+//    }
 
-
-    @SneakyThrows
     @Override
-    public void onMessage(String message) {
-
-        System.out.println("开始消费:" + message + "线程id=" + Thread.currentThread().getName());
-
-        buildSceneResultTopic = "123123123123";
-
-
-        Thread.sleep(3600000L);
-
-
-
-        System.out.println("结束消费:" + message);
-
-
+    public void onMessage(TLogMqWrapBean<BuildSceneMqMessage> buildSceneMqMessageTLogMqWrapBean) {
+
+        TLogMqConsumerProcessor.process(buildSceneMqMessageTLogMqWrapBean, new TLogMqRunner<BuildSceneMqMessage>() {
+            @Override
+            public void mqConsume(BuildSceneMqMessage o) {
+                log.info(JSON.toJSONString(o));
+                TLogMqWrapBean<BuildSceneMqMessage> tLogMqWrap = new TLogMqWrapBean(o);
+                rocketMQProducer.syncSend("test_topic_dsx2", tLogMqWrap);
+            }
+        });
     }
-
 }

+ 66 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/listener/TestListener2.java

@@ -0,0 +1,66 @@
+package com.fdkankan.scene.listener;
+
+import com.alibaba.fastjson.JSON;
+import com.fdkankan.mq.message.BuildSceneMqMessage;
+import com.fdkankan.mq.util.RocketMQProducer;
+import com.yomahub.tlog.core.mq.TLogMqConsumerProcessor;
+import com.yomahub.tlog.core.mq.TLogMqRunner;
+import com.yomahub.tlog.core.mq.TLogMqWrapBean;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.MessageModel;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        consumerGroup = "test_group_dsx2",
+        topic = "test_topic_dsx2",
+        messageModel = MessageModel.CLUSTERING,
+        consumeThreadMax = 1,
+        consumeTimeout = 7200000L
+)
+@Data
+public class TestListener2 implements RocketMQListener<TLogMqWrapBean<BuildSceneMqMessage>> {
+
+    @Value("${rocketmq.build-scene-result.topicName.topic-modeling-a}")
+    private String buildSceneResultTopic;
+    @Autowired
+    private RocketMQProducer rocketMQProducer;
+
+
+//    @SneakyThrows
+//    @Override
+//    public void onMessage(String message) {
+//
+//        System.out.println("开始消费:" + message + "线程id=" + Thread.currentThread().getName());
+//
+//        buildSceneResultTopic = "123123123123";
+//
+//
+//        Thread.sleep(3600000L);
+//
+//
+//
+//        System.out.println("结束消费:" + message);
+//
+//
+//    }
+
+    @Override
+    public void onMessage(TLogMqWrapBean<BuildSceneMqMessage> buildSceneMqMessageTLogMqWrapBean) {
+
+        TLogMqConsumerProcessor.process(buildSceneMqMessageTLogMqWrapBean, new TLogMqRunner<BuildSceneMqMessage>() {
+            @Override
+            public void mqConsume(BuildSceneMqMessage o) {
+                log.info(JSON.toJSONString(o));
+                TLogMqWrapBean<BuildSceneMqMessage> tLogMqWrap = new TLogMqWrapBean(o);
+            }
+        });
+    }
+}

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -723,7 +723,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //        if(!file.getOriginalFilename().endsWith(".zip")){
 //            throw new BusinessException(ErrorCode.FAILURE_CODE_7015);
 //        }
-        if(!file.getOriginalFilename().endsWith(".zip") || !file.getOriginalFilename().endsWith(".jpg")){
+        if(!file.getOriginalFilename().endsWith(".zip") && !file.getOriginalFilename().endsWith(".jpg")){
             throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "jpg或者zip");
         }
 

+ 3 - 0
4dkankan-center-scene/src/main/resources/bootstrap-pro.yml

@@ -86,6 +86,9 @@ feign:
   httpclient:
     connection-timeout: 200000
 
+tlog:
+  enable-invoke-time-print: true
+
 
 
 

+ 55 - 55
4dkankan-common/src/main/java/com/fdkankan/common/aop/FeignInterceptor.java

@@ -1,55 +1,55 @@
-package com.fdkankan.common.aop;
-
-import com.alibaba.fastjson.JSON;
-import com.fdkankan.common.constant.LogFormatConstant;
-import java.util.Enumeration;
-import javax.servlet.http.HttpServletRequest;
-import lombok.extern.slf4j.Slf4j;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-@Component
-@Aspect
-@Slf4j
-public class FeignInterceptor {
-
-	// 切入点表达式
-	@Pointcut("execution(* com.fdkankan.*.feign..*.*(..))")
-	public void privilege() {
-	}
-
-	@Around("privilege()")
-	public Object around(ProceedingJoinPoint pjp) throws Throwable {
-
-		// 获取类名
-		String className = pjp.getTarget().getClass().getName();
-		// 获取执行的方法名称
-		String methodName = pjp.getSignature().getName();
-		// 获取参数名称
-		String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
-		// 定义返回参数
-		Object result = null;
-		// 获取方法参数
-		Object[] args = pjp.getArgs();
-		StringBuilder params = new StringBuilder();
-		for(int i = 0; i < parameterNamesArgs.length; i++){
-			params.append(",").append(parameterNamesArgs[i]).append("=").append(args[i]);
-		}
-		log.info(LogFormatConstant.FEIGN_LOG_START, className, methodName, params.substring(1));
-		// 执行目标方法
-		result = pjp.proceed();
-
-		log.info(LogFormatConstant.FEIGN_LOG_END, className, methodName, JSON.toJSONString(result));
-
-		return result;
-	}
-}
-
+//package com.fdkankan.common.aop;
+//
+//import com.alibaba.fastjson.JSON;
+//import com.fdkankan.common.constant.LogFormatConstant;
+//import java.util.Enumeration;
+//import javax.servlet.http.HttpServletRequest;
+//import lombok.extern.slf4j.Slf4j;
+//import org.aspectj.lang.ProceedingJoinPoint;
+//import org.aspectj.lang.annotation.Around;
+//import org.aspectj.lang.annotation.Aspect;
+//import org.aspectj.lang.annotation.Pointcut;
+//import org.aspectj.lang.reflect.MethodSignature;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.stereotype.Component;
+//import org.springframework.web.context.request.RequestContextHolder;
+//import org.springframework.web.context.request.ServletRequestAttributes;
+//
+//@Component
+//@Aspect
+//@Slf4j
+//public class FeignInterceptor {
+//
+//	// 切入点表达式
+//	@Pointcut("execution(* com.fdkankan.*.feign..*.*(..))")
+//	public void privilege() {
+//	}
+//
+//	@Around("privilege()")
+//	public Object around(ProceedingJoinPoint pjp) throws Throwable {
+//
+//		// 获取类名
+//		String className = pjp.getTarget().getClass().getName();
+//		// 获取执行的方法名称
+//		String methodName = pjp.getSignature().getName();
+//		// 获取参数名称
+//		String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
+//		// 定义返回参数
+//		Object result = null;
+//		// 获取方法参数
+//		Object[] args = pjp.getArgs();
+//		StringBuilder params = new StringBuilder();
+//		for(int i = 0; i < parameterNamesArgs.length; i++){
+//			params.append(",").append(parameterNamesArgs[i]).append("=").append(args[i]);
+//		}
+//		log.info(LogFormatConstant.FEIGN_LOG_START, className, methodName, params.substring(1));
+//		// 执行目标方法
+//		result = pjp.proceed();
+//
+//		log.info(LogFormatConstant.FEIGN_LOG_END, className, methodName, JSON.toJSONString(result));
+//
+//		return result;
+//	}
+//}
+//

+ 112 - 112
4dkankan-common/src/main/java/com/fdkankan/common/aop/VisitLogInterceptor.java

@@ -1,112 +1,112 @@
-package com.fdkankan.common.aop;
-
-import com.fdkankan.common.constant.LogFormatConstant;
-import com.fdkankan.common.factory.LogFactory;
-import java.util.Enumeration;
-import javax.servlet.http.HttpServletRequest;
-import lombok.extern.slf4j.Slf4j;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
-import org.aspectj.lang.reflect.MethodSignature;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-@Component
-@Aspect
-@Slf4j
-public class VisitLogInterceptor {
-
-	// 切入点表达式
-	@Pointcut("execution(public * com.fdkankan.*..controller..*.*(..))")
-	public void privilege() {
-	}
-
-	@Around("privilege()")
-	public Object around(ProceedingJoinPoint pjp) throws Throwable {
-
-		// 获取类名
-		String className = pjp.getTarget().getClass().getName();// pjp.getTarget().getClass().getSimpleName();
-		// 获取执行的方法名称
-		String methodName = pjp.getSignature().getName();
-		// 获取参数名称
-		String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
-		// 定义返回参数
-		Object result = null;
-		// 获取方法参数
-		Object[] args = pjp.getArgs();
-		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
-		// 请求的URL
-		String requestURL = request.getRequestURL().toString();
-		String ip = getIpAddr(request);
-
-		StringBuffer paramsBuf = new StringBuffer();
-		// 获取请求参数集合并进行遍历拼接
-		for (int i = 0; i < args.length; i++) {
-			if (paramsBuf.length() > 0) {
-				paramsBuf.append("|");
-			}
-			paramsBuf.append(parameterNamesArgs[i]).append(" = ").append(args[i]);
-		}
-		StringBuffer headerBuf = new StringBuffer();
-		Enumeration<String> headerNames = request.getHeaderNames();
-		while (headerNames.hasMoreElements()) {
-			String key = (String) headerNames.nextElement();
-			String value = request.getHeader(key);
-			if (headerBuf.length() > 0) {
-				headerBuf.append("|");
-			}
-			headerBuf.append(key).append("=").append(value);
-		}
-
-		// 打印请求参数参数
-		// 记录开始时间
-		long start = System.currentTimeMillis();
-
-		log.info(LogFormatConstant.REQUEST_LOG_START, ip, requestURL, className, methodName, paramsBuf.toString(), headerBuf.toString());
-
-		// 执行目标方法
-		result = pjp.proceed();
-
-		// 获取执行完的时间 打印返回报文
-		log.info(LogFormatConstant.REQUEST_LOG_END, requestURL, className, methodName, result, (System.currentTimeMillis() - start));
-		return result;
-	}
-
-	/**
-	 * @Title: getIpAddr
-	 * @Description: 获取ip
-	 * @param request
-	 * @return
-	 * @return String 返回类型
-	 */
-	public String getIpAddr(HttpServletRequest request) {
-		String ipAddress = null;
-		ipAddress = request.getHeader("x-forwarded-for");
-		if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
-			ipAddress = request.getHeader("Proxy-Client-IP");
-		}
-		if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
-			ipAddress = request.getHeader("WL-Proxy-Client-IP");
-		}
-		if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
-			ipAddress = request.getRemoteAddr();
-		}
-
-		//对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
-		if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length()
-			// = 15
-			if (ipAddress.indexOf(",") > 0) {
-				ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
-			}
-		}
-		// 或者这样也行,对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
-		//return ipAddress!=null&&!"".equals(ipAddress)?ipAddress.split(",")[0]:null;
-		return ipAddress;
-	}
-}
-
+//package com.fdkankan.common.aop;
+//
+//import com.fdkankan.common.constant.LogFormatConstant;
+//import com.fdkankan.common.factory.LogFactory;
+//import java.util.Enumeration;
+//import javax.servlet.http.HttpServletRequest;
+//import lombok.extern.slf4j.Slf4j;
+//import org.aspectj.lang.ProceedingJoinPoint;
+//import org.aspectj.lang.annotation.Around;
+//import org.aspectj.lang.annotation.Aspect;
+//import org.aspectj.lang.annotation.Pointcut;
+//import org.aspectj.lang.reflect.MethodSignature;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//import org.springframework.stereotype.Component;
+//import org.springframework.web.context.request.RequestContextHolder;
+//import org.springframework.web.context.request.ServletRequestAttributes;
+//
+//@Component
+//@Aspect
+//@Slf4j
+//public class VisitLogInterceptor {
+//
+//	// 切入点表达式
+//	@Pointcut("execution(public * com.fdkankan.*..controller..*.*(..))")
+//	public void privilege() {
+//	}
+//
+//	@Around("privilege()")
+//	public Object around(ProceedingJoinPoint pjp) throws Throwable {
+//
+//		// 获取类名
+//		String className = pjp.getTarget().getClass().getName();// pjp.getTarget().getClass().getSimpleName();
+//		// 获取执行的方法名称
+//		String methodName = pjp.getSignature().getName();
+//		// 获取参数名称
+//		String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
+//		// 定义返回参数
+//		Object result = null;
+//		// 获取方法参数
+//		Object[] args = pjp.getArgs();
+//		HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+//		// 请求的URL
+//		String requestURL = request.getRequestURL().toString();
+//		String ip = getIpAddr(request);
+//
+//		StringBuffer paramsBuf = new StringBuffer();
+//		// 获取请求参数集合并进行遍历拼接
+//		for (int i = 0; i < args.length; i++) {
+//			if (paramsBuf.length() > 0) {
+//				paramsBuf.append("|");
+//			}
+//			paramsBuf.append(parameterNamesArgs[i]).append(" = ").append(args[i]);
+//		}
+//		StringBuffer headerBuf = new StringBuffer();
+//		Enumeration<String> headerNames = request.getHeaderNames();
+//		while (headerNames.hasMoreElements()) {
+//			String key = (String) headerNames.nextElement();
+//			String value = request.getHeader(key);
+//			if (headerBuf.length() > 0) {
+//				headerBuf.append("|");
+//			}
+//			headerBuf.append(key).append("=").append(value);
+//		}
+//
+//		// 打印请求参数参数
+//		// 记录开始时间
+//		long start = System.currentTimeMillis();
+//
+//		log.info(LogFormatConstant.REQUEST_LOG_START, ip, requestURL, className, methodName, paramsBuf.toString(), headerBuf.toString());
+//
+//		// 执行目标方法
+//		result = pjp.proceed();
+//
+//		// 获取执行完的时间 打印返回报文
+//		log.info(LogFormatConstant.REQUEST_LOG_END, requestURL, className, methodName, result, (System.currentTimeMillis() - start));
+//		return result;
+//	}
+//
+//	/**
+//	 * @Title: getIpAddr
+//	 * @Description: 获取ip
+//	 * @param request
+//	 * @return
+//	 * @return String 返回类型
+//	 */
+//	public String getIpAddr(HttpServletRequest request) {
+//		String ipAddress = null;
+//		ipAddress = request.getHeader("x-forwarded-for");
+//		if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+//			ipAddress = request.getHeader("Proxy-Client-IP");
+//		}
+//		if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+//			ipAddress = request.getHeader("WL-Proxy-Client-IP");
+//		}
+//		if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
+//			ipAddress = request.getRemoteAddr();
+//		}
+//
+//		//对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
+//		if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length()
+//			// = 15
+//			if (ipAddress.indexOf(",") > 0) {
+//				ipAddress = ipAddress.substring(0, ipAddress.indexOf(","));
+//			}
+//		}
+//		// 或者这样也行,对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
+//		//return ipAddress!=null&&!"".equals(ipAddress)?ipAddress.split(",")[0]:null;
+//		return ipAddress;
+//	}
+//}
+//

+ 1 - 1
4dkankan-common/src/main/java/com/fdkankan/common/response/BaseResponseAdvice.java

@@ -31,7 +31,7 @@ public class BaseResponseAdvice implements ResponseBodyAdvice<Object> {
 //        if(serverHttpRequest.getURI().getPath().contains("feign")){
 //            return body;
 //        }
-        log.info("响应拦截成功。。。");
+//        log.info("响应拦截成功。。。");
 //        List<String> strings = serverHttpRequest.getHeaders().get("Accept-Language");
 //        System.out.println(strings.get(0));