From d57204ff3a08f2a4c218bbe40dff3af45301be9c Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Wed, 4 Jun 2025 18:02:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=99=BD=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SysAccessControlController.java | 36 ++++++++++++++++++ .../service/ISysAccessControlService.java | 16 ++++++++ .../impl/SysAccessControlServiceImpl.java | 37 +++++++++++++++++++ .../service/impl/SysOmadaLogServiceImpl.java | 5 --- 4 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysAccessControlController.java create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysAccessControlService.java create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysAccessControlServiceImpl.java diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysAccessControlController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysAccessControlController.java new file mode 100644 index 0000000..910c226 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysAccessControlController.java @@ -0,0 +1,36 @@ +package org.wfc.system.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.wfc.common.core.domain.R; +import org.wfc.omada.api.accesscontrol.model.PortalAccessControlOpenApiVo; +import org.wfc.system.service.ISysAccessControlService; + +/** + * @description: access control controller + * @author: cyc + * @since: 2025-06-04 + */ +@RestController +@RequestMapping("/access-control") +public class SysAccessControlController { + + @Autowired + private ISysAccessControlService sysAccessControlService; + + @GetMapping("/{siteId}") + public R getAccessControl(@PathVariable(required = true) String siteId) { + return R.ok(sysAccessControlService.getAccessControl(siteId)); + } + + @PostMapping("/{siteId}") + public R modifyAccessControl(@PathVariable(required = true) String siteId, @RequestBody(required = false) PortalAccessControlOpenApiVo portalAccessControlOpenApiVo) { + return R.ok(sysAccessControlService.modifyAccessControl(siteId, portalAccessControlOpenApiVo)); + } + +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysAccessControlService.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysAccessControlService.java new file mode 100644 index 0000000..7d8b8b3 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysAccessControlService.java @@ -0,0 +1,16 @@ +package org.wfc.system.service; + +import org.wfc.omada.api.accesscontrol.model.PortalAccessControlOpenApiVo; + +/** + * @description: access control service + * @author: cyc + * @since: 2025-06-04 + */ +public interface ISysAccessControlService { + + PortalAccessControlOpenApiVo getAccessControl(String siteId); + + boolean modifyAccessControl(String siteId, PortalAccessControlOpenApiVo portalAccessControlOpenApiVo); + +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysAccessControlServiceImpl.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysAccessControlServiceImpl.java new file mode 100644 index 0000000..0ba8799 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysAccessControlServiceImpl.java @@ -0,0 +1,37 @@ +package org.wfc.system.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.wfc.common.core.utils.ResponseUtils; +import org.wfc.omada.api.accesscontrol.OmadaAccessControlApi; +import org.wfc.omada.api.accesscontrol.model.OperationResponsePortalAccessControlOpenApiVo; +import org.wfc.omada.api.accesscontrol.model.PortalAccessControlOpenApiVo; +import org.wfc.system.service.ISysAccessControlService; + +import java.util.Objects; + +/** + * @description: access control service impl + * @author: cyc + * @since: 2025-06-04 + */ +@Service +public class SysAccessControlServiceImpl implements ISysAccessControlService { + + @Autowired + private OmadaAccessControlApi omadaAccessControlApi; + + public PortalAccessControlOpenApiVo getAccessControl(String siteId) { + ResponseEntity response = omadaAccessControlApi.getAccessControl(siteId); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return response.getBody().getResult(); + } + + public boolean modifyAccessControl(String siteId, PortalAccessControlOpenApiVo portalAccessControlOpenApiVo) { + ResponseEntity response = omadaAccessControlApi.modifyAccessControl(siteId, portalAccessControlOpenApiVo); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java index fa2011d..3e5fa56 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java @@ -26,11 +26,6 @@ public class SysOmadaLogServiceImpl implements ISysOmadaLogService { @Autowired private OmadaLogApi omadaLogApi; - public void test() { - -// omadaLogApi.getLogSettingForSite("") - - } @Override public TableDataInfo getAlertLogsForSite(String siteId, Integer pageNum, Integer pageSize, Long filtersTimeStart, Long filtersTimeEnd, String filtersModule, Boolean filtersResolved) {