From bf7c79c87f0910d7d7df35baab66bc4207671789 Mon Sep 17 00:00:00 2001 From: OpenCode Date: Mon, 27 Jul 2026 19:18:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95=E6=A8=A1=E5=9D=97=20-=20AgentWhitel?= =?UTF-8?q?ist=E5=AE=9E=E4=BD=93/Controller/Service/Admin=E5=88=86?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminAgentWhitelistController.java | 31 +++++++++++++++++++ .../agent/entity/AgentWhitelistEntity.java | 22 +++++++++++++ .../agent/mapper/AgentWhitelistMapper.java | 7 +++++ .../agent/service/AgentWhitelistService.java | 7 +++++ .../impl/AgentWhitelistServiceImpl.java | 12 +++++++ 5 files changed, 79 insertions(+) create mode 100644 src/main/java/com/cool/modules/agent/controller/admin/AdminAgentWhitelistController.java create mode 100644 src/main/java/com/cool/modules/agent/entity/AgentWhitelistEntity.java create mode 100644 src/main/java/com/cool/modules/agent/mapper/AgentWhitelistMapper.java create mode 100644 src/main/java/com/cool/modules/agent/service/AgentWhitelistService.java create mode 100644 src/main/java/com/cool/modules/agent/service/impl/AgentWhitelistServiceImpl.java diff --git a/src/main/java/com/cool/modules/agent/controller/admin/AdminAgentWhitelistController.java b/src/main/java/com/cool/modules/agent/controller/admin/AdminAgentWhitelistController.java new file mode 100644 index 0000000..37f6bab --- /dev/null +++ b/src/main/java/com/cool/modules/agent/controller/admin/AdminAgentWhitelistController.java @@ -0,0 +1,31 @@ +package com.cool.modules.agent.controller.admin; + +import cn.hutool.json.JSONObject; +import com.cool.core.annotation.CoolRestController; +import com.cool.core.base.BaseController; +import com.cool.modules.agent.entity.AgentInfoEntity; +import com.cool.modules.agent.entity.AgentWhitelistEntity; +import com.cool.modules.agent.service.AgentInfoService; +import com.cool.modules.agent.service.AgentWhitelistService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Tag(name = "白名单管理", description = "代理白名单管理") +@CoolRestController(api = {"delete", "page"}) +public class AdminAgentWhitelistController extends BaseController { + + private final AgentInfoService agentInfoService; + + @Override + protected void init(HttpServletRequest request, JSONObject requestParams) { + setPageOption(createOp().transformValue(o -> { + AgentWhitelistEntity entity = (AgentWhitelistEntity) o; + AgentInfoEntity agent = (AgentInfoEntity) agentInfoService.info(entity.getAgentInfoId()); + if (agent != null) { + entity.setAgentName(agent.getName()); + } + })); + } +} diff --git a/src/main/java/com/cool/modules/agent/entity/AgentWhitelistEntity.java b/src/main/java/com/cool/modules/agent/entity/AgentWhitelistEntity.java new file mode 100644 index 0000000..772d6a2 --- /dev/null +++ b/src/main/java/com/cool/modules/agent/entity/AgentWhitelistEntity.java @@ -0,0 +1,22 @@ +package com.cool.modules.agent.entity; + +import com.cool.core.base.TenantEntity; +import com.mybatisflex.annotation.Table; +import com.cool.core.annotation.ColumnDefine; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Table(value = "agent_whitelist", comment = "代理白名单表") +public class AgentWhitelistEntity extends TenantEntity { + + @ColumnDefine(comment = "代理信息ID", notNull = true) + private Long agentInfoId; + + @ColumnDefine(comment = "IP地址", notNull = true) + private String ipAddress; + + @com.mybatisflex.annotation.Column(ignore = true) + private String agentName; +} diff --git a/src/main/java/com/cool/modules/agent/mapper/AgentWhitelistMapper.java b/src/main/java/com/cool/modules/agent/mapper/AgentWhitelistMapper.java new file mode 100644 index 0000000..817906b --- /dev/null +++ b/src/main/java/com/cool/modules/agent/mapper/AgentWhitelistMapper.java @@ -0,0 +1,7 @@ +package com.cool.modules.agent.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cool.modules.agent.entity.AgentWhitelistEntity; + +public interface AgentWhitelistMapper extends BaseMapper { +} diff --git a/src/main/java/com/cool/modules/agent/service/AgentWhitelistService.java b/src/main/java/com/cool/modules/agent/service/AgentWhitelistService.java new file mode 100644 index 0000000..8631751 --- /dev/null +++ b/src/main/java/com/cool/modules/agent/service/AgentWhitelistService.java @@ -0,0 +1,7 @@ +package com.cool.modules.agent.service; + +import com.cool.core.base.BaseService; +import com.cool.modules.agent.entity.AgentWhitelistEntity; + +public interface AgentWhitelistService extends BaseService { +} diff --git a/src/main/java/com/cool/modules/agent/service/impl/AgentWhitelistServiceImpl.java b/src/main/java/com/cool/modules/agent/service/impl/AgentWhitelistServiceImpl.java new file mode 100644 index 0000000..d2ffe25 --- /dev/null +++ b/src/main/java/com/cool/modules/agent/service/impl/AgentWhitelistServiceImpl.java @@ -0,0 +1,12 @@ +package com.cool.modules.agent.service.impl; + +import com.cool.core.base.BaseServiceImpl; +import com.cool.modules.agent.entity.AgentWhitelistEntity; +import com.cool.modules.agent.mapper.AgentWhitelistMapper; +import com.cool.modules.agent.service.AgentWhitelistService; +import org.springframework.stereotype.Service; + +@Service +public class AgentWhitelistServiceImpl extends BaseServiceImpl implements + AgentWhitelistService { +}