diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysOmadaLogController.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysOmadaLogController.java new file mode 100644 index 0000000..e2037e6 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/controller/SysOmadaLogController.java @@ -0,0 +1,45 @@ +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.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.page.TableDataInfo; +import org.wfc.omada.api.log.model.DeleteSiteAlertLogListOpenApiVo; +import org.wfc.omada.api.log.model.ResolveSiteLogListOpenApiVo; +import org.wfc.system.service.ISysOmadaLogService; + +/** + * @description: omada log controller + * @author: cyc + * @since: 2025-06-03 + */ +@RestController +@RequestMapping("/log") +public class SysOmadaLogController { + + @Autowired + private ISysOmadaLogService sysOmadaLogService; + + @GetMapping("/alerts/{siteId}") + public TableDataInfo getAlertLogsForSite(@PathVariable String siteId, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize, @RequestParam(value = "filters.timeStart", required = true) Long filtersTimeStart, @RequestParam(value = "filters.timeEnd", required = true) Long filtersTimeEnd, @RequestParam(value = "filters.module", required = false) String filtersModule, @RequestParam(value = "filters.resolved", required = false) Boolean filtersResolved) { + return sysOmadaLogService.getAlertLogsForSite(siteId, pageNum, pageSize, filtersTimeStart, filtersTimeEnd, filtersModule, filtersResolved); + } + + @PostMapping("/alerts/{siteId}") + public R resolveAlertForSite(@PathVariable(required = true) String siteId, @RequestBody(required = false) ResolveSiteLogListOpenApiVo resolveSiteLogListOpenApiVo) { + return R.ok(sysOmadaLogService.resolveAlertForSite(siteId, resolveSiteLogListOpenApiVo)); + } + + @DeleteMapping("/alerts/{siteId}") + public R deleteAlertLogsForSite(@PathVariable(required = true) String siteId, @RequestBody(required = false) DeleteSiteAlertLogListOpenApiVo deleteSiteAlertLogListOpenApiVo) { + return R.ok(sysOmadaLogService.deleteAlertLogsForSite(siteId, deleteSiteAlertLogListOpenApiVo)); + } + +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysOmadaLogService.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysOmadaLogService.java new file mode 100644 index 0000000..f7b7367 --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/ISysOmadaLogService.java @@ -0,0 +1,19 @@ +package org.wfc.system.service; + +import org.wfc.common.core.web.page.TableDataInfo; +import org.wfc.omada.api.log.model.DeleteSiteAlertLogListOpenApiVo; +import org.wfc.omada.api.log.model.ResolveSiteLogListOpenApiVo; + +/** + * @description: omada log service + * @author: cyc + * @since: 2025-06-03 + */ +public interface ISysOmadaLogService { + + TableDataInfo getAlertLogsForSite(String siteId, Integer pageNum, Integer pageSize, Long filtersTimeStart, Long filtersTimeEnd, String filtersModule, Boolean filtersResolved); + + boolean resolveAlertForSite(String siteId, ResolveSiteLogListOpenApiVo resolveSiteLogListOpenApiVo); + + boolean deleteAlertLogsForSite(String siteId, DeleteSiteAlertLogListOpenApiVo deleteSiteAlertLogListOpenApiVo); +} diff --git a/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java new file mode 100644 index 0000000..fa2011d --- /dev/null +++ b/wfc-modules/wfc-system/src/main/java/org/wfc/system/service/impl/SysOmadaLogServiceImpl.java @@ -0,0 +1,56 @@ +package org.wfc.system.service.impl; + +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.log.OmadaLogApi; +import org.wfc.omada.api.log.model.DeleteSiteAlertLogListOpenApiVo; +import org.wfc.omada.api.log.model.OperationResponseAlertLogGridVoAlertLogOpenApiVo; +import org.wfc.omada.api.log.model.OperationResponseWithoutResult; +import org.wfc.omada.api.log.model.ResolveSiteLogListOpenApiVo; +import org.wfc.system.service.ISysOmadaLogService; + +import java.util.Objects; + +/** + * @description: omada log service impl + * @author: cyc + * @since: 2025-06-03 + */ +@Service +public class SysOmadaLogServiceImpl implements ISysOmadaLogService { + + @Autowired + private OmadaLogApi omadaLogApi; + + public void test() { + +// omadaLogApi.getLogSettingForSite("") + + } + + @Override + public TableDataInfo getAlertLogsForSite(String siteId, Integer pageNum, Integer pageSize, Long filtersTimeStart, Long filtersTimeEnd, String filtersModule, Boolean filtersResolved) { + ResponseEntity response = omadaLogApi.getAlertLogsForSite(siteId, pageNum, pageSize, filtersTimeStart, filtersTimeEnd, filtersModule, filtersResolved); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return PageUtils.getDataTable(response.getBody().getResult().getData(), response.getBody().getResult().getTotalRows()); + } + + @Override + public boolean resolveAlertForSite(String siteId, ResolveSiteLogListOpenApiVo resolveSiteLogListOpenApiVo) { + ResponseEntity response = omadaLogApi.resolveAlertForSite(siteId, resolveSiteLogListOpenApiVo); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + + @Override + public boolean deleteAlertLogsForSite(String siteId, DeleteSiteAlertLogListOpenApiVo deleteSiteAlertLogListOpenApiVo) { + ResponseEntity response = omadaLogApi.deleteAlertLogsForSite(siteId, deleteSiteAlertLogListOpenApiVo); + ResponseUtils.checkResponse(Objects.requireNonNull(response.getBody()).getErrorCode(), response.getBody().getMsg()); + return true; + } + +}