Bläddra i källkod

:fix:请求日志改为拦截器

zhangxianyu 1 år sedan
förälder
incheckning
b0b18ed085

+ 26 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/config/CheckConfig.java

@@ -0,0 +1,26 @@
+package com.zanxiang.game.data.serve.config;
+
+import com.aliyun.tea.interceptor.RequestInterceptor;
+import com.zanxiang.game.data.serve.intercept.WebVisitLogIntercept;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class CheckConfig implements WebMvcConfigurer {
+
+    @Bean
+    public WebVisitLogIntercept getRequestInterceptor(){
+        return  new WebVisitLogIntercept();
+    }
+
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+
+        registry.addInterceptor(getRequestInterceptor())
+                .addPathPatterns("/**")
+                .excludePathPatterns("/swagger-ui.html/**");
+    }
+}

+ 2 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/AdsPromotionDayController.java

@@ -36,7 +36,7 @@ public class AdsPromotionDayController {
     @Autowired
     private IAdsPromotionDayService adsPromotionDayService;
 
-    @Log(title = "头条广告监控")
+//    @Log(title = "头条广告监控")
     @ApiOperation(value = "广告监控数据")
     @PreAuthorize(permissionKey = "promotionData:adsPromotionDay:day")
     @PostMapping("/day")
@@ -65,7 +65,7 @@ public class AdsPromotionDayController {
         return ResultVO.ok(adsPromotionDayService.getPromotionDayTotalData(dto));
     }
 
-    @Log(title = "腾讯广告监控")
+//    @Log(title = "腾讯广告监控")
     @ApiOperation(value = "腾讯广告监控数据")
     @PreAuthorize(permissionKey = "promotionData:adsAdGroupDay:day")
     @PostMapping("/tencent/day")

+ 1 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/RoleManageController.java

@@ -31,7 +31,7 @@ public class RoleManageController {
     @Autowired
     private IRoleManageService roleManageService;
 
-    @Log(title = "角色充值排行榜")
+//    @Log(title = "角色充值排行榜")
     @ApiOperation(value = "角色充值排行榜")
     @PreAuthorize(permissionKey = "roleManage:recharge:role")
     @PostMapping("/rechargeRanking")

+ 50 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/intercept/WebVisitLogIntercept.java

@@ -0,0 +1,50 @@
+package com.zanxiang.game.data.serve.intercept;
+
+import com.zanxiang.erp.security.util.SecurityUtil;
+import com.zanxiang.game.data.serve.mangae.AsyncManager;
+import com.zanxiang.game.data.serve.mangae.factory.AsyncFactory;
+import com.zanxiang.game.data.serve.pojo.dto.WebLogDTO;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.HandlerInterceptor;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * packageName com.zanxiang.game.data.serve.intercept
+ *
+ * @author ZhangXianyu
+ * @date 2024/3/22
+ * @description 接口请求日志记录拦截器
+ */
+@Component
+public class WebVisitLogIntercept implements HandlerInterceptor {
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        //获取当前请求的URL
+        String url = request.getRequestURI().toString();
+        //获取当前用户id
+        Long sysUserId = SecurityUtil.getUserId();
+        //标题名称
+        WebLogDTO webLogDTO = new WebLogDTO();
+        webLogDTO.setTitle(url);
+        if(sysUserId!=null){
+            webLogDTO.setUserId(sysUserId.toString());
+        }
+        LocalDateTime now = LocalDateTime.now();
+        String dateTime = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        webLogDTO.setVisitTime(dateTime);
+        // 发到kafka
+        AsyncManager.me().execute(AsyncFactory.webVisitLog(webLogDTO));
+        return true;
+    }
+
+
+
+
+
+
+}