From 9adf17f59ba2fcfd4f26e9bff940e9dfd70a8f04 Mon Sep 17 00:00:00 2001 From: jack ning Date: Thu, 27 Mar 2025 21:38:07 +0800 Subject: [PATCH] update --- .../bytedesk/core/black/BlackUserAspect.java | 97 ------------------- .../com/bytedesk/core/ip/BlackIpAspect.java | 46 ++++----- .../ip/black/IpBlacklistEventListener.java | 2 + .../ip/black/IpBlacklistRestController.java | 37 +++++-- 4 files changed, 52 insertions(+), 130 deletions(-) delete mode 100644 modules/core/src/main/java/com/bytedesk/core/black/BlackUserAspect.java diff --git a/modules/core/src/main/java/com/bytedesk/core/black/BlackUserAspect.java b/modules/core/src/main/java/com/bytedesk/core/black/BlackUserAspect.java deleted file mode 100644 index 232a6675b4..0000000000 --- a/modules/core/src/main/java/com/bytedesk/core/black/BlackUserAspect.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * @Author: jackning 270580156@qq.com - * @Date: 2024-04-17 16:53:12 - * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-13 09:57:48 - * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk - * Please be aware of the BSL license restrictions before installing Bytedesk IM – - * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. - * 仅支持企业内部员工自用,严禁私自用于销售、二次销售或者部署SaaS方式销售 - * Business Source License 1.1: https://github.com/Bytedesk/bytedesk/blob/main/LICENSE - * contact: 270580156@qq.com - * 联系:270580156@qq.com - * Copyright (c) 2024 by bytedesk.com, All Rights Reserved. - */ -package com.bytedesk.core.black; - -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.annotation.AfterReturning; -import org.aspectj.lang.annotation.AfterThrowing; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Before; -import org.springframework.stereotype.Component; -import com.bytedesk.core.annotation.BlackUserFilter; -// import com.bytedesk.core.message.IMessageSendService; - -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -/** - * 黑名单用户过滤 - * - * 注意:不能在类上注解@Async,否则会获取不到 HttpServletRequest,attributes为空。 - * 如果不需要HttpServletRequest,可以添加@Async注解 - * - * @author jackning - */ -@Slf4j -@Aspect -@Component -@AllArgsConstructor -public class BlackUserAspect { - - // private final IMessageSendService messageSendService; - - /** - * 处理请求前执行 - */ - @Before(value = "@annotation(blackUserFilter)") - public void doBefore(JoinPoint joinPoint, BlackUserFilter blackUserFilter) { - log.debug("blackUserLog before: model {}, action {}", blackUserFilter.title(), blackUserFilter.action()); - // 获取方法参数 - Object[] args = joinPoint.getArgs(); - for (Object arg : args) { - if (arg instanceof String) { - // String message = (String) arg; - - } - } - } - - /** - * 处理完请求后执行 - * - * @param joinPoint 切点 - */ - @AfterReturning(pointcut = "@annotation(blackUserFilter)", returning = "jsonResult") - public void doAfterReturning(JoinPoint joinPoint, BlackUserFilter blackUserFilter, Object jsonResult) { - log.debug("blackUserLog after returning: title {}, action {}", blackUserFilter.title(), blackUserFilter.action()); - // - } - - /** - * 拦截异常操作 - * - * @param joinPoint 切点 - * @param e 异常 - */ - @AfterThrowing(value = "@annotation(blackUserFilter)", throwing = "e") - public void doAfterThrowing(JoinPoint joinPoint, BlackUserFilter blackUserFilter, Exception e) { - log.info("blackUserLog after throwing: model {}, action {}", blackUserFilter.title(), blackUserFilter.action()); - // handleLog(joinPoint, blackUserFilter, e, null); - } - - /** - * - * @param message 消息内容 - * @return 是否包含黑名单用户 - */ - // private boolean containsSensitiveWords(String message) { - // log.info("containsSensitiveWords message {}", message); - // // 实现黑名单用户过滤逻辑 - // // 例如:可以从数据库或配置文件中加载黑名单用户列表,然后进行匹配 - // // 这里简单示例,假设黑名单用户为 "黑名单用户" - // return message.contains("黑名单用户"); - // } - -} diff --git a/modules/core/src/main/java/com/bytedesk/core/ip/BlackIpAspect.java b/modules/core/src/main/java/com/bytedesk/core/ip/BlackIpAspect.java index 32d417f226..c0996542b5 100644 --- a/modules/core/src/main/java/com/bytedesk/core/ip/BlackIpAspect.java +++ b/modules/core/src/main/java/com/bytedesk/core/ip/BlackIpAspect.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2025-02-22 13:42:54 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-13 09:59:48 + * @LastEditTime: 2025-03-27 21:26:47 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -13,35 +13,35 @@ */ package com.bytedesk.core.ip; -import jakarta.servlet.http.HttpServletRequest; -import lombok.extern.slf4j.Slf4j; +// import jakarta.servlet.http.HttpServletRequest; +// import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.annotation.After; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.stereotype.Component; +// import org.aspectj.lang.annotation.After; +// import org.aspectj.lang.annotation.Aspect; +// import org.aspectj.lang.annotation.Pointcut; +// import org.springframework.stereotype.Component; -import lombok.AllArgsConstructor; +// import lombok.AllArgsConstructor; -@Slf4j -@Aspect -@Component -@AllArgsConstructor -public class BlackIpAspect { +// @Slf4j +// @Aspect +// @Component +// @AllArgsConstructor +// public class BlackIpAspect { - private final HttpServletRequest request; +// private final HttpServletRequest request; - @Pointcut("@annotation(com.bytedesk.core.annotation.BlackIpFilter)") - public void logUserIp() { +// @Pointcut("@annotation(com.bytedesk.core.annotation.BlackIpFilter)") +// public void logUserIp() { - } +// } - @After("logUserIp()") - public void after(){ +// @After("logUserIp()") +// public void after(){ - String ip = IpUtils.getClientIp(request); +// String ip = IpUtils.getClientIp(request); - log.info("User IP: {}", ip); - } +// log.info("User IP: {}", ip); +// } -} +// } diff --git a/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistEventListener.java b/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistEventListener.java index 673bbaaa10..f05daecd52 100644 --- a/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistEventListener.java +++ b/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistEventListener.java @@ -21,5 +21,7 @@ import lombok.extern.slf4j.Slf4j; @Component public class IpBlacklistEventListener { + + } diff --git a/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistRestController.java b/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistRestController.java index 7edffd6dd9..6dc99b9cd9 100644 --- a/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistRestController.java +++ b/modules/core/src/main/java/com/bytedesk/core/ip/black/IpBlacklistRestController.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2025-01-17 15:17:39 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-03-05 16:36:04 + * @LastEditTime: 2025-03-27 21:33:09 * @Description: bytedesk.com https://github.com/Bytedesk/bytedesk * Please be aware of the BSL license restrictions before installing Bytedesk IM – * selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license. @@ -13,6 +13,7 @@ */ package com.bytedesk.core.ip.black; +import org.springframework.data.domain.Page; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -32,27 +33,47 @@ public class IpBlacklistRestController extends BaseRestController queryByOrg(IpBlacklistRequest request) { - return ResponseEntity.ok(JsonResult.success(ipBlacklistRestService.queryByOrg(request))); + + Page page = ipBlacklistRestService.queryByOrg(request); + + return ResponseEntity.ok(JsonResult.success(page)); } @Override public ResponseEntity queryByUser(IpBlacklistRequest request) { - return ResponseEntity.ok(JsonResult.success(ipBlacklistRestService.queryByUser(request))); + + Page page = ipBlacklistRestService.queryByUser(request); + + return ResponseEntity.ok(JsonResult.success(page)); + } + + @Override + public ResponseEntity queryByUid(IpBlacklistRequest request) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'queryByUid'"); } @Override public ResponseEntity create(IpBlacklistRequest request) { - return ResponseEntity.ok(JsonResult.success(ipBlacklistRestService.create(request))); + + IpBlacklistResponse response = ipBlacklistRestService.create(request); + + return ResponseEntity.ok(JsonResult.success(response)); } @Override public ResponseEntity update(IpBlacklistRequest request) { - return ResponseEntity.ok(JsonResult.success(ipBlacklistRestService.update(request))); + + IpBlacklistResponse response = ipBlacklistRestService.update(request); + + return ResponseEntity.ok(JsonResult.success(response)); } @Override public ResponseEntity delete(IpBlacklistRequest request) { + ipBlacklistRestService.delete(request); + return ResponseEntity.ok(JsonResult.success()); } @@ -62,11 +83,7 @@ public class IpBlacklistRestController extends BaseRestController queryByUid(IpBlacklistRequest request) { - // TODO Auto-generated method stub - throw new UnsupportedOperationException("Unimplemented method 'queryByUid'"); - } + }