From 9c3877e9375b66b2e8558ce1e8140a0750ec755a Mon Sep 17 00:00:00 2001 From: easonzhu Date: Mon, 14 Apr 2025 15:07:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=89=B4=E6=9D=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- html/monitor.html | 296 ++++++++++++++++++ .../app/controller/AppUserController.java | 32 +- .../common/config/TencentCloudConfig.java | 6 + .../syzb/common/config/cache/CacheConfig.java | 4 + .../com/syzb/common/query/CheckAuthQuery.java | 24 ++ .../monitor/controller/MonitorController.java | 5 +- 6 files changed, 359 insertions(+), 8 deletions(-) create mode 100644 html/monitor.html create mode 100644 src/main/java/com/syzb/common/query/CheckAuthQuery.java diff --git a/html/monitor.html b/html/monitor.html new file mode 100644 index 0000000..8235ea9 --- /dev/null +++ b/html/monitor.html @@ -0,0 +1,296 @@ + + + + + + + Interface Monitor + + + + + + + + + + + +
+
+ + +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + {{ item }} + + +
+ 查询曲线 + 查询分组 +
+
+
+
+
+
+
+
+
+
+
+ + + + diff --git a/src/main/java/com/syzb/app/controller/AppUserController.java b/src/main/java/com/syzb/app/controller/AppUserController.java index 99da54a..899a9c2 100644 --- a/src/main/java/com/syzb/app/controller/AppUserController.java +++ b/src/main/java/com/syzb/app/controller/AppUserController.java @@ -1,16 +1,21 @@ package com.syzb.app.controller; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; import com.syzb.common.handler.BizException; import com.syzb.common.query.AppUserInfoQuery; -import com.syzb.common.query.OnlyIdQuery; +import com.syzb.common.query.CheckAuthQuery; import com.syzb.common.result.CommonResult; import com.syzb.common.result.ResponseStatus; import com.syzb.common.service.AppUserService; +import com.syzb.common.util.JwtUtil; +import com.syzb.common.util.logger.LoggerUtil; import com.syzb.common.vo.AppCUserInfoVO; import com.syzb.common.vo.AuthResultVO; import com.syzb.common.vo.FrontUserVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -21,6 +26,12 @@ import javax.annotation.Resource; @RequestMapping("/app/user/") public class AppUserController { + @Value("${jwt.key}") + private String jwtKey; + + @Value("${jwt.secret}") + private String jwtSecret; + @Resource private AppUserService appUserService; @@ -35,12 +46,25 @@ public class AppUserController { @ApiOperation("C端用户鉴权") @PostMapping("checkAuth") @CrossOrigin(origins = "*", allowedHeaders = "*", maxAge = 3600) - public CommonResult checkAuth(@Validated @RequestBody OnlyIdQuery query, - @RequestAttribute(value = "frontUser", required = false) FrontUserVO frontUserVO) { + public CommonResult checkAuth(@Validated @RequestBody CheckAuthQuery query) { + String token = query.getToken(); + if (StrUtil.isBlank(token) || "undefined".equals(token)) { + throw new BizException(ResponseStatus.SESSION_EXPIRY); + } + FrontUserVO frontUserVO = null; + try { + String decodeStr = JwtUtil.verify(jwtSecret, jwtKey, token); + if (StrUtil.isNotBlank(decodeStr)) { + frontUserVO = JSONObject.parseObject(decodeStr, FrontUserVO.class); + } + } catch (Exception e) { + LoggerUtil.error(e); + throw new BizException(ResponseStatus.SESSION_EXPIRY); + } if (frontUserVO == null) { throw new BizException(ResponseStatus.SESSION_EXPIRY); } - AuthResultVO vo = appUserService.checkAuth(query.getId().toString(), frontUserVO); + AuthResultVO vo = appUserService.checkAuth(query.getAuth(), frontUserVO); return CommonResult.success(vo); } diff --git a/src/main/java/com/syzb/common/config/TencentCloudConfig.java b/src/main/java/com/syzb/common/config/TencentCloudConfig.java index a3f4eec..28a93d1 100644 --- a/src/main/java/com/syzb/common/config/TencentCloudConfig.java +++ b/src/main/java/com/syzb/common/config/TencentCloudConfig.java @@ -169,6 +169,9 @@ public class TencentCloudConfig { // 实例化一个http选项,可选的,没有特殊需求可以跳过 HttpProfile httpProfile = new HttpProfile(); httpProfile.setEndpoint(this.vodEndpoint); + httpProfile.setConnTimeout(60); + httpProfile.setReadTimeout(60); + httpProfile.setWriteTimeout(60); // 实例化一个client选项,可选的,没有特殊需求可以跳过 ClientProfile clientProfile = new ClientProfile(); @@ -186,6 +189,9 @@ public class TencentCloudConfig { // 实例化一个http选项,可选的,没有特殊需求可以跳过 HttpProfile httpProfile = new HttpProfile(); httpProfile.setEndpoint(this.liveEndpoint); + httpProfile.setConnTimeout(60); + httpProfile.setReadTimeout(60); + httpProfile.setWriteTimeout(60); // 实例化一个client选项,可选的,没有特殊需求可以跳过 ClientProfile clientProfile = new ClientProfile(); clientProfile.setHttpProfile(httpProfile); diff --git a/src/main/java/com/syzb/common/config/cache/CacheConfig.java b/src/main/java/com/syzb/common/config/cache/CacheConfig.java index e575cb8..da6ce45 100644 --- a/src/main/java/com/syzb/common/config/cache/CacheConfig.java +++ b/src/main/java/com/syzb/common/config/cache/CacheConfig.java @@ -67,6 +67,10 @@ public class CacheConfig { configMap.put(COURSE, new LocalMapConfig(10000, 300)); configMap.put(GROUP, new LocalMapConfig(10000, 300)); configMap.put(WX_USER, new LocalMapConfig(10000, 3600)); + + configMap.put(VIDEO_ONLINE_USER, new LocalMapConfig(1000000, 604800, InMemoryFormat.OBJECT)); + configMap.put(GROUP_ONLINE_USER, new LocalMapConfig(1000000, 604800, InMemoryFormat.OBJECT)); + return configMap; } } diff --git a/src/main/java/com/syzb/common/query/CheckAuthQuery.java b/src/main/java/com/syzb/common/query/CheckAuthQuery.java new file mode 100644 index 0000000..1009d9e --- /dev/null +++ b/src/main/java/com/syzb/common/query/CheckAuthQuery.java @@ -0,0 +1,24 @@ +package com.syzb.common.query; + +public class CheckAuthQuery { + + private String auth; + + private String token; + + public String getAuth() { + return auth; + } + + public void setAuth(String auth) { + this.auth = auth; + } + + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } +} diff --git a/src/main/java/com/syzb/monitor/controller/MonitorController.java b/src/main/java/com/syzb/monitor/controller/MonitorController.java index ef08700..ee4b8d7 100644 --- a/src/main/java/com/syzb/monitor/controller/MonitorController.java +++ b/src/main/java/com/syzb/monitor/controller/MonitorController.java @@ -17,34 +17,31 @@ import java.util.List; @Api(tags = "monitor") @RestController +@CrossOrigin(origins = "*", allowedHeaders = "*", maxAge = 3600) public class MonitorController { @Resource private MonitorService monitorService; @PostMapping("/admin/monitor/listIP") - @CrossOrigin(origins = "*", allowedHeaders = "*", maxAge = 3600) public CommonResult> listIP(@Validated @RequestBody @ApiParam(required = true) MonitorQuery query) { List list = monitorService.listIP(query); return CommonResult.success(list); } @PostMapping("/admin/monitor/listInterface") - @CrossOrigin(origins = "*", allowedHeaders = "*", maxAge = 3600) public CommonResult> listInterface(@Validated @RequestBody @ApiParam(required = true) MonitorQuery query) { List list = monitorService.listInterface(query); return CommonResult.success(list); } @PostMapping("/admin/monitor/listData") - @CrossOrigin(origins = "*", allowedHeaders = "*", maxAge = 3600) public CommonResult> listData(@Validated @RequestBody @ApiParam(required = true) MonitorQuery query) { List list = monitorService.listData(query); return CommonResult.success(list); } @PostMapping("/admin/monitor/groupData") - @CrossOrigin(origins = "*", allowedHeaders = "*", maxAge = 3600) public CommonResult> groupData(@Validated @RequestBody @ApiParam(required = true) MonitorQuery query) { List list = monitorService.groupData(query); return CommonResult.success(list);