summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nz-admin/src/main/java/com/nis/modules/module/controller/MonitorModuleController.java21
-rw-r--r--nz-admin/src/main/java/com/nis/modules/module/service/MonitorModuleService.java9
-rw-r--r--nz-admin/src/main/java/com/nis/modules/module/service/impl/MonitorModuleServiceImpl.java25
3 files changed, 55 insertions, 0 deletions
diff --git a/nz-admin/src/main/java/com/nis/modules/module/controller/MonitorModuleController.java b/nz-admin/src/main/java/com/nis/modules/module/controller/MonitorModuleController.java
index 796f77f6..b5cca5b0 100644
--- a/nz-admin/src/main/java/com/nis/modules/module/controller/MonitorModuleController.java
+++ b/nz-admin/src/main/java/com/nis/modules/module/controller/MonitorModuleController.java
@@ -167,5 +167,26 @@ public class MonitorModuleController {
return R.ok();
}
+ /**
+ * Module 配置同步更新 dashboard,endpoint
+ *
+ * @return
+ */
+ @RequestMapping(value = "/module/sync", method = {RequestMethod.POST, RequestMethod.PUT})
+ @SysLog(operation = OperationEnum.UPDATE, type = TypeEnum.MODULE)
+ public R syncModuleEndpointAndDashboard(@RequestBody(required = false) Map<String, Object> requestParam) {
+ // validate param
+ requestParam = Tool.MapUtil.defaultIfEmpty(requestParam, Tool.MapUtil.empty());
+
+ List<Integer> syncModuleIdList = (List<Integer>) requestParam.get("ids");
+ ValidateUtils.is(syncModuleIdList).notNull(RCode.MODULE_ID_ISNULL);
+
+ Integer isSyncEndpoint = Tool.MapUtil.getInt(requestParam, "endpoint", 0);
+ Integer isSyncDashboard = Tool.MapUtil.getInt(requestParam, "dashboard", 0);
+
+ monitorModuleService.syncModuleEndpointAndDashboard(syncModuleIdList, isSyncEndpoint, isSyncDashboard);
+ return R.ok();
+ }
+
}
diff --git a/nz-admin/src/main/java/com/nis/modules/module/service/MonitorModuleService.java b/nz-admin/src/main/java/com/nis/modules/module/service/MonitorModuleService.java
index d469d452..d1267389 100644
--- a/nz-admin/src/main/java/com/nis/modules/module/service/MonitorModuleService.java
+++ b/nz-admin/src/main/java/com/nis/modules/module/service/MonitorModuleService.java
@@ -48,4 +48,13 @@ public interface MonitorModuleService extends IService<MonitorModule> {
String queryAssetMoudules(Integer assetId);
+ /**
+ * sync Module Endpoint And Dashboard
+ *
+ * @param syncModuleIdList
+ * @param isSyncEndpoint
+ * @param isSyncDashboard
+ */
+ void syncModuleEndpointAndDashboard(List<Integer> syncModuleIdList, Integer isSyncEndpoint, Integer isSyncDashboard);
+
}
diff --git a/nz-admin/src/main/java/com/nis/modules/module/service/impl/MonitorModuleServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/module/service/impl/MonitorModuleServiceImpl.java
index 5b50d599..4e42534b 100644
--- a/nz-admin/src/main/java/com/nis/modules/module/service/impl/MonitorModuleServiceImpl.java
+++ b/nz-admin/src/main/java/com/nis/modules/module/service/impl/MonitorModuleServiceImpl.java
@@ -1075,4 +1075,29 @@ public class MonitorModuleServiceImpl extends ServiceImpl<MonitorModuleDao, Moni
return this.baseMapper.queryAssetMoudules(assetId);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void syncModuleEndpointAndDashboard(List<Integer> syncModuleIdList, Integer isSyncEndpoint, Integer isSyncDashboard) {
+ log.info("[syncModuleEndpointAndDashboard] [begin] [syncModuleIdList: {}] [isSyncEndpoint: {}] [isSyncDashboard: {}]", JSONUtil.toJsonStr(syncModuleIdList), isSyncEndpoint, isSyncDashboard);
+ if (ObjectUtil.equal(1, isSyncEndpoint)) {
+ List<MonitorEndpoint> syncEndpointList = monitorEndpointService.list(new LambdaQueryWrapper<MonitorEndpoint>().in(MonitorEndpoint::getModuleId, syncModuleIdList));
+ if (CollUtil.isEmpty(syncEndpointList)) {
+ log.warn("[syncModuleEndpointAndDashboard] [module has no endpoint to sync] [syncModuleIdList: {}]", JSONUtil.toJsonStr(syncModuleIdList));
+ } else {
+ List<Integer> syncEndpointIdList = syncEndpointList.stream().map(MonitorEndpoint::getId).collect(Collectors.toList());
+ monitorEndpointService.syncConfigByIdList(syncEndpointIdList);
+ }
+ }
+
+ if (ObjectUtil.equal(1, isSyncDashboard)) {
+ List<MonitorModule> moduleList = this.getBaseMapper().selectBatchIds(syncModuleIdList);
+ ValidateUtils.is(moduleList).notNull(RCode.MODULE_NOTFOUND);
+
+ for (MonitorModule module : moduleList) {
+ visualService.syncTemplateDashboard(null, null, null, module.getId());
+ }
+ }
+ log.info("[syncModuleEndpointAndDashboard] [finshed]");
+ }
+
}