From 90133e5dc8b9f4e9e4b2f49016e944d87f015844 Mon Sep 17 00:00:00 2001 From: jack ning Date: Fri, 17 Jan 2025 12:38:20 +0800 Subject: [PATCH] update --- deploy/docker/readme.md | 10 ++++++++-- deploy/docker/readme.zh.md | 8 +++++++- .../bytedesk/core/ip/access/IpAccessEntity.java | 15 +-------------- .../bytedesk/core/ip/access/IpAccessService.java | 2 +- .../visitor/VisitorAnonymousController.java | 11 +++++++++-- .../bytedesk/service/visitor/VisitorEntity.java | 8 +++++++- .../bytedesk/service/visitor/VisitorResponse.java | 8 +++++++- .../service/visitor/VisitorRestService.java | 10 +++++++++- 8 files changed, 49 insertions(+), 23 deletions(-) diff --git a/deploy/docker/readme.md b/deploy/docker/readme.md index ccdec9931d..a9019ceff0 100644 --- a/deploy/docker/readme.md +++ b/deploy/docker/readme.md @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-03-12 10:21:18 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-01-16 13:19:58 + * @LastEditTime: 2025-01-17 12:37:10 * @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. @@ -22,8 +22,14 @@ git clone https://github.com/Bytedesk/bytedesk.git # enter docker directory cd bytedesk/deploy/docker # pull aliyun image +# community free version +docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk-ce:latest +# enterprise paid version, under development, not yet officially commercialized docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk:latest -# or pull docker hub image +# or pull from docker hub: +# community free version +docker pull bytedesk/bytedesk-ce:latest +# enterprise paid version, under development, not yet officially commercialized docker pull bytedesk/bytedesk:latest # start docker compose container, -f flag to specify file path, -d flag to start container in background mode docker compose -f docker-compose.yaml up -d diff --git a/deploy/docker/readme.zh.md b/deploy/docker/readme.zh.md index 0017ec19f5..329bfb7321 100644 --- a/deploy/docker/readme.zh.md +++ b/deploy/docker/readme.zh.md @@ -22,8 +22,14 @@ git clone https://github.com/Bytedesk/bytedesk.git # 进入docker目录 cd bytedesk/deploy/docker # 拉取阿里云镜像 +# 社区免费版 +docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk-ce:latest +# 企业付费版-完善中,暂未正式商业化 docker pull registry.cn-hangzhou.aliyuncs.com/bytedesk/bytedesk:latest -# 或拉取docker hub镜像 +# 或从 docker hub拉取镜像: +# 社区免费版 +docker pull bytedesk/bytedesk-ce:latest +# 企业付费版-完善中,暂未正式商业化 docker pull bytedesk/bytedesk:latest # 启动docker compose容器, -f标志来指定文件路径, -d标志表示在后台模式下启动容器 docker compose -f docker-compose.yaml up -d diff --git a/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessEntity.java b/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessEntity.java index 722227ea01..657688ff77 100644 --- a/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessEntity.java +++ b/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessEntity.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-12-24 17:43:48 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-01-17 10:51:52 + * @LastEditTime: 2025-01-17 12:16:28 * @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,13 +13,8 @@ */ package com.bytedesk.core.ip.access; -import jakarta.persistence.Column; import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; import jakarta.persistence.Table; -import jakarta.validation.constraints.NotBlank; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -39,14 +34,6 @@ import lombok.EqualsAndHashCode; @NoArgsConstructor public class IpAccessEntity extends BaseEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @NotBlank(message = "uid is required") - @Column(name = "uuid", unique = true, nullable = false) - private String uid; - private String ip; private String ipLocation; private String endpoint; // 访问的接口 diff --git a/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessService.java b/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessService.java index ec6d8ff9bd..82fc5dabd6 100644 --- a/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessService.java +++ b/modules/core/src/main/java/com/bytedesk/core/ip/access/IpAccessService.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-12-24 17:44:03 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-01-17 10:53:47 + * @LastEditTime: 2025-01-17 12:20:00 * @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. diff --git a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorAnonymousController.java b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorAnonymousController.java index 95a6f21a3e..232e37b0f8 100644 --- a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorAnonymousController.java +++ b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorAnonymousController.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-01-29 16:21:24 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-01-15 14:09:06 + * @LastEditTime: 2025-01-17 12:11:10 * @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. @@ -82,6 +82,7 @@ public class VisitorAnonymousController { visitorRequest.setIp(ip); visitorRequest.setIpLocation(ipService.getIpLocation(ip)); } + // if (!StringUtils.hasText(visitorRequest.getNickname())) { visitorRequest.setNickname(ipService.createVisitorNickname(httpRequest)); } @@ -93,7 +94,13 @@ public class VisitorAnonymousController { @VisitorAnnotation(title = "visitor", action = "requestThread", description = "request thread") @PostMapping("/thread") - public ResponseEntity requestThread(@RequestBody VisitorRequest visitorRequest) { + public ResponseEntity requestThread(@RequestBody VisitorRequest visitorRequest, HttpServletRequest httpRequest) { + // + String ip = IpUtils.getIp(httpRequest); + if (ip != null) { + visitorRequest.setIp(ip); + visitorRequest.setIpLocation(ipService.getIpLocation(ip)); + } // MessageProtobuf messageProtobuf = visitorService.requestThread(visitorRequest); // diff --git a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorEntity.java b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorEntity.java index dfd783921e..a3d7c42416 100644 --- a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorEntity.java +++ b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorEntity.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-01-29 16:21:24 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2025-01-01 12:59:46 + * @LastEditTime: 2025-01-17 12:25:17 * @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. @@ -86,5 +86,11 @@ public class VisitorEntity extends BaseEntity { @Column(columnDefinition = TypeConsts.COLUMN_TYPE_JSON) @JdbcTypeCode(SqlTypes.JSON) private String extra = BytedeskConsts.EMPTY_JSON_STRING; + + // 方便后续扩展,比如用户被拉黑的时候,暂存于此 + // 浏览的IP + private String ip; + // 浏览的IP地址 + private String ipLocation; } \ No newline at end of file diff --git a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorResponse.java b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorResponse.java index 98bc07e644..30af7a0872 100644 --- a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorResponse.java +++ b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorResponse.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-04-04 17:05:59 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2024-12-20 11:47:46 + * @LastEditTime: 2025-01-17 12:26:06 * @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. @@ -66,4 +66,10 @@ public class VisitorResponse extends BaseResponse { private String status; private String extra; + + // 方便后续扩展,比如用户被拉黑的时候,暂存于此 + // 浏览的IP + private String ip; + // 浏览的IP地址 + private String ipLocation; } diff --git a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorRestService.java b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorRestService.java index dea157f817..94737e4d3b 100644 --- a/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorRestService.java +++ b/modules/service/src/main/java/com/bytedesk/service/visitor/VisitorRestService.java @@ -2,7 +2,7 @@ * @Author: jackning 270580156@qq.com * @Date: 2024-01-29 16:21:24 * @LastEditors: jackning 270580156@qq.com - * @LastEditTime: 2024-12-25 11:47:16 + * @LastEditTime: 2025-01-17 12:14:35 * @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. @@ -78,6 +78,14 @@ public class VisitorRestService extends BaseRestService