From af3d3d1e600f553837350ddf65caae0f8e0ef924 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Fri, 6 Dec 2024 21:46:30 +0800 Subject: [PATCH] =?UTF-8?q?test(user):=20=E8=B0=83=E7=94=A8omada=20API?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wfc-modules/wfc-modules-user/pom.xml | 5 + .../wfc/user/controller/ClientController.java | 96 +++++++++++++++++++ .../src/main/resources/application.yml | 9 +- 3 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/ClientController.java diff --git a/wfc-modules/wfc-modules-user/pom.xml b/wfc-modules/wfc-modules-user/pom.xml index 88af421..97d5ad3 100644 --- a/wfc-modules/wfc-modules-user/pom.xml +++ b/wfc-modules/wfc-modules-user/pom.xml @@ -70,6 +70,11 @@ wfc-api-user + + + org.wfc + wfc-api-omada + diff --git a/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/ClientController.java b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/ClientController.java new file mode 100644 index 0000000..79ae0cc --- /dev/null +++ b/wfc-modules/wfc-modules-user/src/main/java/org/wfc/user/controller/ClientController.java @@ -0,0 +1,96 @@ +package org.wfc.user.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.wfc.common.core.domain.LoginUser; +import org.wfc.common.core.utils.StringUtils; +import org.wfc.common.core.web.controller.BaseController; +import org.wfc.common.core.web.domain.AjaxResult; +import org.wfc.common.core.web.form.WANFiRedirectParams; +import org.wfc.common.security.utils.SecurityUtils; +import org.wfc.omada.api.client.OmadaClientApi; +import org.wfc.omada.api.client.model.OperationResponseClientDetail; +import org.wfc.omada.api.hotspot.OmadaAuthorizedClientApi; +import org.wfc.omada.api.hotspot.model.OperationResponseWithoutResult; +import org.wfc.user.api.domain.UUser; + +import java.util.Objects; + +/** + * 客户端操作处理 + * + * @author wfc + */ +@RestController +@RequestMapping("/client") +public class ClientController extends BaseController { + @Autowired + private OmadaClientApi omadaClientApi; + + @Autowired + private OmadaAuthorizedClientApi omadaAuthorizedClientApi; + + /** + * 获取客户信息 + */ + // @RequiresLogin() + @GetMapping("/auth") + public AjaxResult auth() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + WANFiRedirectParams wanFiRedirectParams = loginUser.getWanFiRedirectParams(); + if (wanFiRedirectParams == null) { + return error("not wanfi redirect params"); + } + String site = wanFiRedirectParams.getSite(); + String clientMac = wanFiRedirectParams.getClientMac(); + if (StringUtils.isBlank(site) || StringUtils.isBlank(clientMac)) { + return error("not mac address"); + } + ResponseEntity posts = omadaAuthorizedClientApi.authClient(site, clientMac); + return success(Objects.requireNonNull(posts.getBody()).getMsg()); + } + + /** + * 获取客户信息 + */ + // @RequiresLogin() + @GetMapping("/unauth") + public AjaxResult unauth() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + WANFiRedirectParams wanFiRedirectParams = loginUser.getWanFiRedirectParams(); + if (wanFiRedirectParams == null) { + return error("not wanfi redirect params"); + } + String site = wanFiRedirectParams.getSite(); + String clientMac = wanFiRedirectParams.getClientMac(); + if (StringUtils.isBlank(site) || StringUtils.isBlank(clientMac)) { + return error("not mac address"); + } + ResponseEntity posts = omadaAuthorizedClientApi.cancelAuthClient(site, clientMac); + return success(Objects.requireNonNull(posts.getBody()).getMsg()); + } + + /** + * 获取客户信息 + */ + // @RequiresLogin() + @GetMapping("/info") + public AjaxResult info() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + WANFiRedirectParams wanFiRedirectParams = loginUser.getWanFiRedirectParams(); + if (wanFiRedirectParams == null) { + return error("not wanfi redirect params"); + } + String site = wanFiRedirectParams.getSite(); + String clientMac = wanFiRedirectParams.getClientMac(); + if (StringUtils.isBlank(site) || StringUtils.isBlank(clientMac)) { + return error("not mac address"); + } + ResponseEntity posts = omadaClientApi.getClientDetail(site, clientMac); + return success(Objects.requireNonNull(posts.getBody()).getResult()); + } + +} diff --git a/wfc-modules/wfc-modules-user/src/main/resources/application.yml b/wfc-modules/wfc-modules-user/src/main/resources/application.yml index 8dec4a4..71acad5 100644 --- a/wfc-modules/wfc-modules-user/src/main/resources/application.yml +++ b/wfc-modules/wfc-modules-user/src/main/resources/application.yml @@ -53,4 +53,11 @@ mybatis: swagger: title: 系统模块接口文档 license: Powered By wfc - licenseUrl: https://wfc.vip \ No newline at end of file + licenseUrl: https://wfc.vip + +# Omada 配置 +omada: + omada-url: 'https://192.168.2.248:8043' + omadac-id: 'f3aa6e479b94222581523710cc2c2a9d' + client-id: '5036e77c81a74008821c694a715fe2b8' + client-secret: '29faa06fb7f244b094377b48eb3083a7'