fix: 补充portal和wlan
This commit is contained in:
@@ -17,6 +17,7 @@ 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.omada.api.sitesetting.model.WlanSimpleOpenApiVo;
|
||||
import org.wfc.system.service.ISysWlanService;
|
||||
|
||||
import java.util.List;
|
||||
@@ -62,4 +63,9 @@ public class SysWlanController extends BaseController {
|
||||
public R<SsidDetailOpenApiVo> getSsidDetail(@PathVariable(required = true) String siteId, @PathVariable String wlanId, @PathVariable String ssidId) {
|
||||
return R.ok(sysWlanService.getSsidDetail(siteId, wlanId, ssidId));
|
||||
}
|
||||
|
||||
@GetMapping("/ssids/{siteId}/")
|
||||
public R<List<WlanSimpleOpenApiVo>> getMacAuthSsids(@PathVariable(required = true) String siteId) {
|
||||
return R.ok(sysWlanService.getMacAuthSsids(siteId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.wfc.system.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import org.wfc.omada.api.sitesetting.model.PortalResOpenApiVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description: PortalResOpenApiVo
|
||||
* @author: cyc
|
||||
* @since: 2025-02-21
|
||||
*/
|
||||
@Data
|
||||
public class PortalResOpenApiExtVo extends PortalResOpenApiVo {
|
||||
|
||||
private List<String> ssidNames;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package org.wfc.system.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import org.wfc.omada.api.sitesetting.model.SsidOpenApiVo;
|
||||
|
||||
/**
|
||||
* @description: SsidOpenApiVo
|
||||
* @author: cyc
|
||||
* @since: 2025-02-21
|
||||
*/
|
||||
@Data
|
||||
public class SsidOpenApiExtVo extends SsidOpenApiVo {
|
||||
|
||||
private boolean portalEnable;
|
||||
|
||||
private String portalName;
|
||||
}
|
||||
@@ -5,6 +5,7 @@ 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.omada.api.sitesetting.model.WlanSimpleOpenApiVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -26,4 +27,6 @@ public interface ISysWlanService {
|
||||
boolean deleteSsid(String siteId, String wlanId, String ssidId);
|
||||
|
||||
SsidDetailOpenApiVo getSsidDetail(String siteId, String wlanId, String ssidId);
|
||||
|
||||
List<WlanSimpleOpenApiVo> getMacAuthSsids(String siteId);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.wfc.system.service.impl;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -9,13 +10,18 @@ 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.OperationResponseListWlanSimpleOpenApiVo;
|
||||
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.omada.api.sitesetting.model.SsidSimpleOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.WlanSimpleOpenApiVo;
|
||||
import org.wfc.system.domain.vo.PortalResOpenApiExtVo;
|
||||
import org.wfc.system.service.ISysPortalService;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -39,7 +45,34 @@ public class SysPortalServiceImpl implements ISysPortalService {
|
||||
|
||||
List<PortalResOpenApiVo> result = response.getBody().getResult();
|
||||
List<PortalResOpenApiVo> pageResult = result.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
|
||||
return PageUtils.getDataTable(pageResult, (long) result.size());
|
||||
|
||||
ResponseEntity<OperationResponseListWlanSimpleOpenApiVo> ssidsResponse = omadaAuthenticationApi.getMacAuthSsids(siteId);
|
||||
ResponseUtils.checkResponse(Objects.requireNonNull(ssidsResponse.getBody()).getErrorCode(), ssidsResponse.getBody().getMsg());
|
||||
List<WlanSimpleOpenApiVo> wlans = ssidsResponse.getBody().getResult();
|
||||
List<SsidSimpleOpenApiVo> ssids = new ArrayList<>();
|
||||
for (WlanSimpleOpenApiVo wlan : wlans) {
|
||||
ssids.addAll(wlan.getSsidList());
|
||||
}
|
||||
|
||||
// 组装ssidName
|
||||
List<PortalResOpenApiExtVo> portals = pageResult.stream().map(c -> {
|
||||
PortalResOpenApiExtVo portalExtVo = new PortalResOpenApiExtVo();
|
||||
BeanUtils.copyProperties(c, portalExtVo);
|
||||
List<String> ssidList = c.getSsidList();
|
||||
|
||||
List<String> ssidNames = new ArrayList<>();
|
||||
for (String ssidId : ssidList) {
|
||||
for (SsidSimpleOpenApiVo ssid : ssids) {
|
||||
if (Objects.equals(ssidId, ssid.getSsidId())) {
|
||||
ssidNames.add(ssid.getSsidName());
|
||||
}
|
||||
}
|
||||
}
|
||||
portalExtVo.setSsidNames(ssidNames);
|
||||
return portalExtVo;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
return PageUtils.getDataTable(portals, (long) result.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -69,4 +102,5 @@ public class SysPortalServiceImpl implements ISysPortalService {
|
||||
ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg());
|
||||
return response.getBody().getResult();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,26 +1,36 @@
|
||||
package org.wfc.system.service.impl;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
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.OmadaWirelessNetworkApi;
|
||||
import org.wfc.omada.api.sitesetting.model.CreateSsidOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.OperationResponseGridVoSsidOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.OperationResponseListPortalResOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.OperationResponseListWlanGroupOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.OperationResponseListWlanSimpleOpenApiVo;
|
||||
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.PortalResOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.SsidDetailOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.SsidOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.UpdateSsidBasicConfigOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.WlanGroupOpenApiVo;
|
||||
import org.wfc.omada.api.sitesetting.model.WlanSimpleOpenApiVo;
|
||||
import org.wfc.system.domain.vo.SsidOpenApiExtVo;
|
||||
import org.wfc.system.service.ISysWlanService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @description: wlan service impl
|
||||
@@ -34,6 +44,9 @@ public class SysWlanServiceImpl implements ISysWlanService {
|
||||
@Autowired
|
||||
private OmadaWirelessNetworkApi omadaWirelessNetworkApi;
|
||||
|
||||
@Autowired
|
||||
private OmadaAuthenticationApi omadaAuthenticationApi;
|
||||
|
||||
@Override
|
||||
public List<WlanGroupOpenApiVo> getWlanGroupList(String siteId) {
|
||||
ResponseEntity<OperationResponseListWlanGroupOpenApiVo> response = omadaWirelessNetworkApi.getWlanGroupList(siteId);
|
||||
@@ -45,7 +58,28 @@ public class SysWlanServiceImpl implements ISysWlanService {
|
||||
public TableDataInfo getSsidList(String siteId, String wlanId, Integer pageNum, Integer pageSize) {
|
||||
ResponseEntity<OperationResponseGridVoSsidOpenApiVo> response = omadaWirelessNetworkApi.getSsidList(siteId, wlanId, pageNum, pageSize);
|
||||
ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg());
|
||||
return PageUtils.getDataTable(response.getBody().getResult().getData(), response.getBody().getResult().getTotalRows());
|
||||
|
||||
|
||||
ResponseEntity<OperationResponseListPortalResOpenApiVo> portalResponse = omadaAuthenticationApi.getPortalList(siteId);
|
||||
ResponseUtils.checkResponse(Objects.requireNonNull(portalResponse.getBody()).getErrorCode(), portalResponse.getBody().getMsg());
|
||||
|
||||
// 组装portalName
|
||||
List<PortalResOpenApiVo> portals = portalResponse.getBody().getResult();
|
||||
List<SsidOpenApiVo> data = response.getBody().getResult().getData();
|
||||
List<SsidOpenApiExtVo> ssidList = data.stream().map(c -> {
|
||||
SsidOpenApiExtVo ssidExtVo = new SsidOpenApiExtVo();
|
||||
BeanUtils.copyProperties(c, ssidExtVo);
|
||||
Optional<PortalResOpenApiVo> portalOptional = portals.stream().filter(p -> p.getSsidList().contains(c.getSsidId())).findFirst();
|
||||
ssidExtVo.setPortalEnable(false);
|
||||
if (portalOptional.isPresent()) {
|
||||
ssidExtVo.setPortalEnable(true);
|
||||
ssidExtVo.setPortalName(portalOptional.get().getName());
|
||||
}
|
||||
return ssidExtVo;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
|
||||
return PageUtils.getDataTable(ssidList, response.getBody().getResult().getTotalRows());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -75,4 +109,11 @@ public class SysWlanServiceImpl implements ISysWlanService {
|
||||
ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg());
|
||||
return response.getBody().getResult();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WlanSimpleOpenApiVo> getMacAuthSsids(String siteId) {
|
||||
ResponseEntity<OperationResponseListWlanSimpleOpenApiVo> response = omadaAuthenticationApi.getMacAuthSsids(siteId);
|
||||
ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg());
|
||||
return response.getBody().getResult();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user