From 204c59c0651ec02c1b7890d9e0f4ac6a1ca223e7 Mon Sep 17 00:00:00 2001 From: caiyuchao Date: Mon, 17 Feb 2025 14:14:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20portal=E7=AE=A1=E7=90=86=E5=92=8C?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/wfc/common/core/utils/PageUtils.java | 26 +++++-- .../wfc/common/core/utils/ResponseUtils.java | 22 ++++++ .../controller/SysDeviceController.java | 5 ++ .../controller/SysPortalController.java | 56 +++++++++++++++ .../system/controller/SysWlanController.java | 19 +++-- .../wfc/system/service/ISysDeviceService.java | 2 + .../wfc/system/service/ISysPortalService.java | 23 ++++++ .../wfc/system/service/ISysWlanService.java | 3 + .../service/impl/SysDeviceServiceImpl.java | 29 ++++---- .../service/impl/SysPortalServiceImpl.java | 72 +++++++++++++++++++ .../service/impl/SysWlanServiceImpl.java | 40 ++++------- 11 files changed, 245 insertions(+), 52 deletions(-) create mode 100644 wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/ResponseUtils.java create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysPortalController.java create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysPortalService.java create mode 100644 wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysPortalServiceImpl.java diff --git a/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/PageUtils.java b/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/PageUtils.java index a4ddf84..5610e83 100644 --- a/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/PageUtils.java +++ b/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/PageUtils.java @@ -1,22 +1,24 @@ package org.wfc.common.core.utils; import com.github.pagehelper.PageHelper; +import org.wfc.common.core.constant.HttpStatus; import org.wfc.common.core.utils.sql.SqlUtil; import org.wfc.common.core.web.page.PageDomain; +import org.wfc.common.core.web.page.TableDataInfo; import org.wfc.common.core.web.page.TableSupport; +import java.util.List; + /** * 分页工具类 - * + * * @author wfc */ -public class PageUtils extends PageHelper -{ +public class PageUtils extends PageHelper { /** * 设置请求分页数据 */ - public static void startPage() - { + public static void startPage() { PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); @@ -28,8 +30,18 @@ public class PageUtils extends PageHelper /** * 清理分页的线程变量 */ - public static void clearPage() - { + public static void clearPage() { PageHelper.clearPage(); } + + /** + * 响应请求分页数据 + */ + public static TableDataInfo getDataTable(List list, Long total) { + TableDataInfo rspData = new TableDataInfo(list, total); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("Query successful"); + + return rspData; + } } diff --git a/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/ResponseUtils.java b/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/ResponseUtils.java new file mode 100644 index 0000000..d7caf46 --- /dev/null +++ b/wfc-common/wfc-common-core/src/main/java/org/wfc/common/core/utils/ResponseUtils.java @@ -0,0 +1,22 @@ +package org.wfc.common.core.utils; + +import lombok.extern.slf4j.Slf4j; +import org.wfc.common.core.constant.WifiConstants; +import org.wfc.common.core.exception.OmadaException; + +/** + * @description: reponseutil + * @author: cyc + * @since: 2025-02-17 + */ +@Slf4j +public class ResponseUtils { + + public static void checkResponse(Integer errorCode, String msg) { + if (errorCode != WifiConstants.ERROR_CODE_SUCCESS) { + log.error("Omada error msg: {}", msg); + throw new OmadaException(msg); + } + } + +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysDeviceController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysDeviceController.java index 4a3cb85..ea33fe2 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysDeviceController.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysDeviceController.java @@ -115,4 +115,9 @@ public class SysDeviceController extends BaseController { return R.ok(sysDeviceService.updateConfig(siteId, deviceMac, apGeneralConfig)); } + @PostMapping("/getConfig/{siteId}/{deviceMac}") + public R getConfig(@PathVariable(required = true) String siteId, @PathVariable(required = true) String deviceMac) { + return R.ok(sysDeviceService.getConfig(siteId, deviceMac)); + } + } diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysPortalController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysPortalController.java new file mode 100644 index 0000000..dbbcf31 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysPortalController.java @@ -0,0 +1,56 @@ +package org.wfc.system.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +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.PutMapping; +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.PortalDetailResOpenApiVo; +import org.wfc.omada.api.sitesetting.model.PortalSetting; +import org.wfc.system.service.ISysPortalService; + +/** + * @description: portal controller + * @author: cyc + * @since: 2025-02-17 + */ +@RestController +@RequestMapping("/portal") +public class SysPortalController extends BaseController { + + @Autowired + private ISysPortalService sysPortalService; + + @GetMapping("/{siteId}") + public TableDataInfo getPortalList(@PathVariable String siteId, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize) { + return sysPortalService.getPortalList(siteId, pageNum, pageSize); + } + + @PostMapping("/{siteId}") + public R addPortal(@PathVariable(required = true) String siteId, @RequestBody(required = false) PortalSetting portalSetting) { + return R.ok(sysPortalService.addPortal(siteId, portalSetting)); + } + + @PutMapping("/{siteId}/{portalId}") + public R modifyPortal(@PathVariable(required = true) String siteId, @PathVariable(required = true) String portalId, @RequestBody(required = false) PortalSetting portalSetting) { + return R.ok(sysPortalService.modifyPortal(siteId, portalId, portalSetting)); + } + + @DeleteMapping("/{siteId}/{portalId}") + public R deletePortal(@PathVariable(required = true) String siteId, @PathVariable(required = true) String portalId) { + return R.ok(sysPortalService.deletePortal(siteId, portalId)); + } + + @GetMapping("/{siteId}/{portalId}") + public R getPortalDetail(@PathVariable(required = true) String siteId, @PathVariable(required = true) String portalId) { + return R.ok(sysPortalService.getPortalDetail(siteId, portalId)); + } +} 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 index c89f74f..cf30add 100644 --- 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 @@ -1,9 +1,11 @@ package org.wfc.system.controller; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; 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.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -12,6 +14,7 @@ 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.SsidDetailOpenApiVo; import org.wfc.omada.api.sitesetting.model.UpdateSsidBasicConfigOpenApiVo; import org.wfc.omada.api.sitesetting.model.WlanGroupOpenApiVo; import org.wfc.system.service.ISysWlanService; @@ -30,29 +33,33 @@ public class SysWlanController extends BaseController { @Autowired private ISysWlanService sysWlanService; - @GetMapping("/getWlanGroupList/{siteId}") + @GetMapping("/group/{siteId}") public R> getWlanGroupList(@PathVariable(required = true) String siteId) { return R.ok(sysWlanService.getWlanGroupList(siteId)); } - @GetMapping("/getSsidList/{siteId}/{wlanId}") + @GetMapping("/ssid/{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}") + @PostMapping("/ssid/{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") + @PutMapping("/ssid/{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}") + @DeleteMapping("/ssid/{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)); } + + @GetMapping("/ssid/{siteId}/{wlanId}/{ssidId}") + public R getSsidDetail(@PathVariable(required = true) String siteId, @PathVariable String wlanId, @PathVariable String ssidId) { + return R.ok(sysWlanService.getSsidDetail(siteId, wlanId, ssidId)); + } } diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysDeviceService.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysDeviceService.java index 52bc28b..b6dee04 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysDeviceService.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysDeviceService.java @@ -31,4 +31,6 @@ public interface ISysDeviceService extends IService { boolean rebootDevice(String siteId, String deviceMac); boolean updateConfig(String siteId, String deviceMac, ApGeneralConfig apGeneralConfig); + + ApGeneralConfig getConfig(String siteId, String deviceMac); } diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysPortalService.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysPortalService.java new file mode 100644 index 0000000..086d67d --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysPortalService.java @@ -0,0 +1,23 @@ +package org.wfc.system.service; + +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.omada.api.sitesetting.model.PortalDetailResOpenApiVo; +import org.wfc.omada.api.sitesetting.model.PortalSetting; + +/** + * @description: portal service + * @author: cyc + * @since: 2025-02-17 + */ +public interface ISysPortalService { + + TableDataInfo getPortalList(String siteId, Integer pageNum, Integer pageSize); + + boolean addPortal(String siteId, PortalSetting portalSetting); + + boolean modifyPortal(String siteId, String portalId, PortalSetting portalSetting); + + boolean deletePortal(String siteId, String portalId); + + PortalDetailResOpenApiVo getPortalDetail(String siteId, String portalId); +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysWlanService.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysWlanService.java index 07bd387..6e8d590 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysWlanService.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysWlanService.java @@ -2,6 +2,7 @@ package org.wfc.system.service; import org.wfc.common.core.web.page.TableDataInfo; import org.wfc.omada.api.sitesetting.model.CreateSsidOpenApiVo; +import org.wfc.omada.api.sitesetting.model.SsidDetailOpenApiVo; import org.wfc.omada.api.sitesetting.model.UpdateSsidBasicConfigOpenApiVo; import org.wfc.omada.api.sitesetting.model.WlanGroupOpenApiVo; @@ -23,4 +24,6 @@ public interface ISysWlanService { boolean updateSsidBasicConfig(String siteId, String wlanId, String ssidId, UpdateSsidBasicConfigOpenApiVo updateSsidBasicConfigOpenApiVo); boolean deleteSsid(String siteId, String wlanId, String ssidId); + + SsidDetailOpenApiVo getSsidDetail(String siteId, String wlanId, String ssidId); } diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysDeviceServiceImpl.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysDeviceServiceImpl.java index e720ae9..d74a2da 100644 --- a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysDeviceServiceImpl.java +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysDeviceServiceImpl.java @@ -8,8 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.wfc.common.core.constant.WifiConstants; -import org.wfc.common.core.exception.OmadaException; +import org.wfc.common.core.utils.ResponseUtils; import org.wfc.common.redis.service.RedisService; import org.wfc.omada.api.device.OmadaApApi; import org.wfc.omada.api.device.OmadaDeviceApi; @@ -17,6 +16,7 @@ import org.wfc.omada.api.device.model.AdoptDeviceRequest; import org.wfc.omada.api.device.model.ApGeneralConfig; import org.wfc.omada.api.device.model.DeviceInfo; import org.wfc.omada.api.device.model.DeviceListAddBySnOpenApiVo; +import org.wfc.omada.api.device.model.OperationResponseApGeneralConfig; import org.wfc.omada.api.device.model.OperationResponseDeviceAddRespOpenApiVo; import org.wfc.omada.api.device.model.OperationResponseGridVoDeviceInfo; import org.wfc.omada.api.device.model.OperationResponseWithoutResult; @@ -144,22 +144,15 @@ public class SysDeviceServiceImpl extends ServiceImpl response = omadaDeviceApi.forgetDevice(siteId, deviceMac); - checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); return true; } - 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 boolean addDeviceBySn(String siteId, DeviceListAddBySnOpenApiVo deviceListAddBySnOpenApiVo) { ResponseEntity response = omadaDeviceApi.addDevicesBySn(siteId, deviceListAddBySnOpenApiVo); - checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); return true; } @@ -167,7 +160,7 @@ public class SysDeviceServiceImpl extends ServiceImpl response = omadaDeviceApi.adoptDevice(siteId, deviceMac, adoptDeviceRequest); - checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); return true; } @@ -175,7 +168,7 @@ public class SysDeviceServiceImpl extends ServiceImpl response = omadaDeviceApi.rebootDevice(siteId, deviceMac); - checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); return true; } @@ -183,7 +176,15 @@ public class SysDeviceServiceImpl extends ServiceImpl response = omadaApApi.modifyGeneralConfig2(siteId, deviceMac, apGeneralConfig); - checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); return true; } + + @Override + public ApGeneralConfig getConfig(String siteId, String deviceMac) { + ResponseEntity response = omadaApApi.getGeneralConfig2(siteId, deviceMac); + + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return response.getBody().getResult(); + } } diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysPortalServiceImpl.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysPortalServiceImpl.java new file mode 100644 index 0000000..5ec3fd9 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysPortalServiceImpl.java @@ -0,0 +1,72 @@ +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.utils.PageUtils; +import org.wfc.common.core.utils.ResponseUtils; +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.omada.api.sitesetting.OmadaAuthenticationApi; +import org.wfc.omada.api.sitesetting.model.OperationResponseListPortalResOpenApiVo; +import org.wfc.omada.api.sitesetting.model.OperationResponsePortalDetailResOpenApiVo; +import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult; +import org.wfc.omada.api.sitesetting.model.PortalDetailResOpenApiVo; +import org.wfc.omada.api.sitesetting.model.PortalResOpenApiVo; +import org.wfc.omada.api.sitesetting.model.PortalSetting; +import org.wfc.system.service.ISysPortalService; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @description: portal service impl + * @author: cyc + * @since: 2025-02-17 + */ +@Slf4j +@Service +public class SysPortalServiceImpl implements ISysPortalService { + + @Autowired + private OmadaAuthenticationApi omadaAuthenticationApi; + + @Override + public TableDataInfo getPortalList(String siteId, Integer pageNum, Integer pageSize) { + ResponseEntity response = omadaAuthenticationApi.getPortalList(siteId); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + + List result = response.getBody().getResult(); + List pageResult = result.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); + return PageUtils.getDataTable(pageResult, (long) result.size()); + } + + @Override + public boolean addPortal(String siteId, PortalSetting portalSetting) { + ResponseEntity response = omadaAuthenticationApi.addPortal(siteId, portalSetting); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + @Override + public boolean modifyPortal(String siteId, String portalId, PortalSetting portalSetting) { + ResponseEntity response = omadaAuthenticationApi.modifyPortal(siteId, portalId, portalSetting); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + @Override + public boolean deletePortal(String siteId, String portalId) { + ResponseEntity response = omadaAuthenticationApi.deletePortal(siteId, portalId); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + @Override + public PortalDetailResOpenApiVo getPortalDetail(String siteId, String portalId) { + ResponseEntity response = omadaAuthenticationApi.getPortalDetail(siteId, portalId); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return response.getBody().getResult(); + } +} 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 index fe42f5a..697d570 100644 --- 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 @@ -4,16 +4,17 @@ 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.utils.PageUtils; +import org.wfc.common.core.utils.ResponseUtils; 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.OperationResponseSsidDetailOpenApiVo; import org.wfc.omada.api.sitesetting.model.OperationResponseWithoutResult; +import org.wfc.omada.api.sitesetting.model.SsidDetailOpenApiVo; import org.wfc.omada.api.sitesetting.model.UpdateSsidBasicConfigOpenApiVo; import org.wfc.omada.api.sitesetting.model.WlanGroupOpenApiVo; import org.wfc.system.service.ISysWlanService; @@ -36,53 +37,42 @@ public class SysWlanServiceImpl implements ISysWlanService { @Override public List getWlanGroupList(String siteId) { ResponseEntity response = omadaWirelessNetworkApi.getWlanGroupList(siteId); - checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + ResponseUtils.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()); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return PageUtils.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()); + ResponseUtils.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()); + ResponseUtils.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()); + ResponseUtils.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; + @Override + public SsidDetailOpenApiVo getSsidDetail(String siteId, String wlanId, String ssidId) { + ResponseEntity response = omadaWirelessNetworkApi.getSsidDetail(siteId, wlanId, ssidId); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return response.getBody().getResult(); } }