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'