From 0fe41ee3553df67ce1bd924dfe00b7778cc3f2db Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Sat, 15 Feb 2025 17:24:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20ssid=E7=AE=A1=E7=90=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysWlanController.java | 58 ++++++++++++ .../service/impl/SysWlanServiceImpl.java | 88 +++++++++++++++++++ 2 files changed, 146 insertions(+) create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysWlanController.java create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysWlanServiceImpl.java diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysWlanController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysWlanController.java new file mode 100644 index 0000000..c89f74f --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysWlanController.java @@ -0,0 +1,58 @@ +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.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.wfc.common.core.domain.R; +import org.wfc.common.core.web.controller.BaseController; +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.omada.api.sitesetting.model.CreateSsidOpenApiVo; +import org.wfc.omada.api.sitesetting.model.UpdateSsidBasicConfigOpenApiVo; +import org.wfc.omada.api.sitesetting.model.WlanGroupOpenApiVo; +import org.wfc.system.service.ISysWlanService; + +import java.util.List; + +/** + * @description: wlan controller + * @author: cyc + * @since: 2025-02-15 + */ +@RestController +@RequestMapping("/wlan") +public class SysWlanController extends BaseController { + + @Autowired + private ISysWlanService sysWlanService; + + @GetMapping("/getWlanGroupList/{siteId}") + public R> getWlanGroupList(@PathVariable(required = true) String siteId) { + return R.ok(sysWlanService.getWlanGroupList(siteId)); + } + + @GetMapping("/getSsidList/{siteId}/{wlanId}") + public TableDataInfo getSsidList(@PathVariable String siteId, @PathVariable String wlanId, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) { + startPage(); + return sysWlanService.getSsidList(siteId, wlanId, pageNum, pageSize); + } + + @PostMapping("/createSsid/{siteId}/{wlanId}") + public R createSsid(@PathVariable(required = true) String siteId, @PathVariable String wlanId, @RequestBody(required = false) CreateSsidOpenApiVo createSsidOpenApiVo) { + return R.ok(sysWlanService.createSsid(siteId, wlanId, createSsidOpenApiVo)); + } + + @PostMapping("/updateSsidBasicConfig/{siteId}/{wlanId}/{ssidId") + public R updateSsidBasicConfig(@PathVariable(required = true) String siteId, @PathVariable String wlanId, @PathVariable String ssidId, @RequestBody(required = false) UpdateSsidBasicConfigOpenApiVo updateSsidBasicConfigOpenApiVo) { + return R.ok(sysWlanService.updateSsidBasicConfig(siteId, wlanId, ssidId, updateSsidBasicConfigOpenApiVo)); + } + + @PostMapping("/createSsid/{siteId}/{wlanId}/{ssidId}") + public R deleteSsid(@PathVariable(required = true) String siteId, @PathVariable String wlanId, @PathVariable String ssidId) { + return R.ok(sysWlanService.deleteSsid(siteId, wlanId, ssidId)); + } +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysWlanServiceImpl.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysWlanServiceImpl.java new file mode 100644 index 0000000..fe42f5a --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysWlanServiceImpl.java @@ -0,0 +1,88 @@ +package org.wfc.system.service.impl; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; +import org.wfc.common.core.constant.HttpStatus; +import org.wfc.common.core.constant.WifiConstants; +import org.wfc.common.core.exception.OmadaException; +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.omada.api.sitesetting.OmadaWirelessNetworkApi; +import org.wfc.omada.api.sitesetting.model.CreateSsidOpenApiVo; +import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoSsidOpenApiVo; +import org.wfc.omada.api.sitesetting.model.OperationResponseListWlanGroupOpenApiVo; +import org.wfc.omada.api.sitesetting.model.OperationResponseObject; +import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult; +import org.wfc.omada.api.sitesetting.model.UpdateSsidBasicConfigOpenApiVo; +import org.wfc.omada.api.sitesetting.model.WlanGroupOpenApiVo; +import org.wfc.system.service.ISysWlanService; + +import java.util.List; +import java.util.Objects; + +/** + * @description: wlan service impl + * @author: cyc + * @since: 2025-02-15 + */ +@Slf4j +@Service +public class SysWlanServiceImpl implements ISysWlanService { + + @Autowired + private OmadaWirelessNetworkApi omadaWirelessNetworkApi; + + @Override + public List getWlanGroupList(String siteId) { + ResponseEntity response = omadaWirelessNetworkApi.getWlanGroupList(siteId); + checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return response.getBody().getResult(); + } + + private static void checkResponse(Integer errorCode, String msg) { + if (errorCode != WifiConstants.ERROR_CODE_SUCCESS) { + log.error("Omada error msg: {}", msg); + throw new OmadaException(msg); + } + } + + @Override + public TableDataInfo getSsidList(String siteId, String wlanId, Integer pageNum, Integer pageSize) { + ResponseEntity response = omadaWirelessNetworkApi.getSsidList(siteId, wlanId, pageNum, pageSize); + checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return getDataTable(response.getBody().getResult().getData(), response.getBody().getResult().getTotalRows()); + } + + @Override + public boolean createSsid(String siteId, String wlanId, CreateSsidOpenApiVo createSsidOpenApiVo) { + ResponseEntity response = omadaWirelessNetworkApi.createSsid(siteId, wlanId, createSsidOpenApiVo); + checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + @Override + public boolean updateSsidBasicConfig(String siteId, String wlanId, String ssidId, UpdateSsidBasicConfigOpenApiVo updateSsidBasicConfigOpenApiVo) { + ResponseEntity response = omadaWirelessNetworkApi.updateSsidBasicConfig(siteId, wlanId, ssidId, updateSsidBasicConfigOpenApiVo); + checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + @Override + public boolean deleteSsid(String siteId, String wlanId, String ssidId) { + ResponseEntity response = omadaWirelessNetworkApi.deleteSsid(siteId, wlanId, ssidId); + checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + /** + * 响应请求分页数据 + */ + protected TableDataInfo getDataTable(List list, Long total) { + TableDataInfo rspData = new TableDataInfo(list, total); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("Query successful"); + + return rspData; + } +}