Browse Source

1.调整 告警计划模板支持分页查询
2.删除 告警计划模板uuid字段
3.调整 告警计划保存 自动生成uuid 并且mqtt的等级为2

hxd 1 month ago
parent
commit
c0d6871725
15 changed files with 47 additions and 53 deletions
  1. 2 1
      portal-service-application/src/main/java/com/hfln/portal/application/controller/wap/AlarmController.java
  2. 1 6
      portal-service-application/src/main/java/com/hfln/portal/application/controller/wap/RadarController.java
  3. 2 1
      portal-service-application/src/main/java/com/hfln/portal/application/controller/web/WebAlarmController.java
  4. 1 4
      portal-service-common/src/main/java/com/hfln/portal/common/dto/data/event/AlarmPlanTplDTO.java
  5. 1 1
      portal-service-common/src/main/java/com/hfln/portal/common/dto/data/event/AlarmTimePlanTplDTO.java
  6. 0 3
      portal-service-common/src/main/java/com/hfln/portal/common/request/event/AlarmPlanSaveReq.java
  7. 3 2
      portal-service-common/src/main/java/com/hfln/portal/common/request/event/AlarmPlanTplQueryReq.java
  8. 0 3
      portal-service-common/src/main/java/com/hfln/portal/common/request/event/AlarmPlanTplSaveReq.java
  9. 2 1
      portal-service-domain/src/main/java/com/hfln/portal/domain/gateway/AlarmGateway.java
  10. 0 2
      portal-service-domain/src/main/java/com/hfln/portal/domain/gateway/DeviceGateway.java
  11. 27 11
      portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/AlarmGatewayImpl.java
  12. 0 10
      portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/DeviceGatewayImpl.java
  13. 1 1
      portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/mqtt/MqttSend.java
  14. 2 3
      portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/AlarmPlanTplService.java
  15. 5 4
      portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/impl/AlarmPlanTplServiceImpl.java

+ 2 - 1
portal-service-application/src/main/java/com/hfln/portal/application/controller/wap/AlarmController.java

@@ -6,6 +6,7 @@ import cn.hfln.framework.dto.ApiResult;
 import com.hfln.portal.common.dto.data.event.AlarmPlanDTO;
 import com.hfln.portal.common.dto.data.event.AlarmPlanTplDTO;
 import com.hfln.portal.common.request.event.*;
+import com.hfln.portal.common.vo.PageRecord;
 import com.hfln.portal.domain.gateway.AlarmGateway;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -31,7 +32,7 @@ public class AlarmController {
 
     @PostMapping("/plan/queryTpl")
     @Operation(summary = "告警计划模板查询")
-    public ApiResult<List<AlarmPlanTplDTO>> queryPlan(@Valid @RequestBody AlarmPlanTplQueryReq req) {
+    public ApiResult<PageRecord<AlarmPlanTplDTO>> queryPlan(@Valid @RequestBody AlarmPlanTplQueryReq req) {
         return ApiResult.success(alarmGateway.queryPlanTpl(req));
     }
 

+ 1 - 6
portal-service-application/src/main/java/com/hfln/portal/application/controller/wap/RadarController.java

@@ -36,12 +36,7 @@ public class RadarController {
         return ApiResult.success();
     }
 
-    @GetMapping("/updateOTA")
-    @Operation(summary = "OTA升级")
-    public ApiResult<Void> updateOTA(@RequestParam String clientId) {
-        deviceGateway.updateOTA(clientId);
-        return ApiResult.success();
-    }
+
 
     @GetMapping("/fixPost")
     @Operation(summary = "姿态修正")

+ 2 - 1
portal-service-application/src/main/java/com/hfln/portal/application/controller/web/WebAlarmController.java

@@ -7,6 +7,7 @@ import com.hfln.portal.common.dto.data.event.AlarmPlanDTO;
 import com.hfln.portal.common.dto.data.event.AlarmPlanTplDTO;
 import com.hfln.portal.common.dto.data.event.EventTypeDTO;
 import com.hfln.portal.common.request.event.*;
+import com.hfln.portal.common.vo.PageRecord;
 import com.hfln.portal.domain.gateway.AlarmGateway;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -62,7 +63,7 @@ public class WebAlarmController {
 
     @PostMapping("/plan/queryTpl")
     @Operation(summary = "告警计划模板查询")
-    public ApiResult<List<AlarmPlanTplDTO>> queryPlan(@Valid @RequestBody AlarmPlanTplQueryReq req) {
+    public ApiResult<PageRecord<AlarmPlanTplDTO>> queryPlan(@Valid @RequestBody AlarmPlanTplQueryReq req) {
         return ApiResult.success(alarmGateway.queryPlanTpl(req));
     }
 

+ 1 - 4
portal-service-common/src/main/java/com/hfln/portal/common/dto/data/event/AlarmPlanTplDTO.java

@@ -11,12 +11,9 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 public class AlarmPlanTplDTO extends BaseVO {
 
-    @Schema(description = "告警表主键ID")
+    @Schema(description = "告警计划模板表主键ID")
     private Integer id;
 
-    @Schema(description = "uuid")
-    private String uuid;
-
     @Schema(description = "计划名称")
     private String name;
 

+ 1 - 1
portal-service-common/src/main/java/com/hfln/portal/common/dto/data/event/AlarmTimePlanTplDTO.java

@@ -9,7 +9,7 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = true)
 public class AlarmTimePlanTplDTO extends BaseVO {
 
-    @Schema(description = "主键ID")
+    @Schema(description = "告警计划时间表主键ID")
     private Integer id;
 
     @Schema(description = "开始日期")

+ 0 - 3
portal-service-common/src/main/java/com/hfln/portal/common/request/event/AlarmPlanSaveReq.java

@@ -17,9 +17,6 @@ public class AlarmPlanSaveReq extends BaseVO {
     @Schema(description = "告警表主键ID")
     private Long alarmPlanId;
 
-    @Schema(description = "uuid")
-    private String uuid;
-
     @Schema(description = "计划名称")
     @NotBlank(message = "计划名称不能为空!")
     private String name;

+ 3 - 2
portal-service-common/src/main/java/com/hfln/portal/common/request/event/AlarmPlanTplQueryReq.java

@@ -1,6 +1,6 @@
 package com.hfln.portal.common.request.event;
 
-import com.hfln.portal.common.vo.BaseVO;
+import com.hfln.portal.common.vo.PageVo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -8,11 +8,12 @@ import lombok.EqualsAndHashCode;
 
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class AlarmPlanTplQueryReq extends BaseVO {
+public class AlarmPlanTplQueryReq extends PageVo {
 
     @Schema(description = "是否启用 1:启用 0:禁用")
     private Integer enable;
 
     @Schema(description = "事件值类型")
     private Integer eventVal;
+
 }

+ 0 - 3
portal-service-common/src/main/java/com/hfln/portal/common/request/event/AlarmPlanTplSaveReq.java

@@ -17,9 +17,6 @@ public class AlarmPlanTplSaveReq extends BaseVO {
     @Schema(description = "告警表主键ID")
     private Long id;
 
-    @Schema(description = "uuid")
-    private String uuid;
-
     @Schema(description = "计划名称")
     @NotBlank(message = "计划名称不能为空!")
     private String name;

+ 2 - 1
portal-service-domain/src/main/java/com/hfln/portal/domain/gateway/AlarmGateway.java

@@ -4,6 +4,7 @@ import com.hfln.portal.common.dto.data.event.AlarmPlanDTO;
 import com.hfln.portal.common.dto.data.event.AlarmPlanTplDTO;
 import com.hfln.portal.common.dto.data.event.EventTypeDTO;
 import com.hfln.portal.common.request.event.*;
+import com.hfln.portal.common.vo.PageRecord;
 
 import java.util.List;
 
@@ -26,7 +27,7 @@ public interface AlarmGateway {
     /**
      *  告警模板计划相关
      */
-    List<AlarmPlanTplDTO> queryPlanTpl(AlarmPlanTplQueryReq req);
+    PageRecord<AlarmPlanTplDTO> queryPlanTpl(AlarmPlanTplQueryReq req);
 
     AlarmPlanTplDTO savePlanTpl(AlarmPlanTplSaveReq req);
 

+ 0 - 2
portal-service-domain/src/main/java/com/hfln/portal/domain/gateway/DeviceGateway.java

@@ -88,8 +88,6 @@ public interface DeviceGateway {
 
     void reboot(String clientId);
 
-    void updateOTA(String clientId);
-
     void fixPost(String clientId, int poseIndex);
 
     void stopFixPost(String clientId);

+ 27 - 11
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/AlarmGatewayImpl.java

@@ -1,8 +1,10 @@
 package com.hfln.portal.infrastructure.gateway.impl;
 
 import cn.hfln.framework.extension.BizException;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.hfln.portal.common.dto.data.event.*;
 import com.hfln.portal.common.request.event.*;
+import com.hfln.portal.common.vo.PageRecord;
 import com.hfln.portal.domain.customer.OprLogType;
 import com.hfln.portal.domain.customer.util.CopyUtils;
 import com.hfln.portal.domain.exception.ErrorEnum;
@@ -19,11 +21,14 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -81,9 +86,12 @@ public class AlarmGatewayImpl implements AlarmGateway {
                 throw new BizException(ErrorEnum.ALARM_PLAN_NOT_EXIST.getErrorCode(), ErrorEnum.ALARM_PLAN_NOT_EXIST.getErrorMessage());
             }
         }
-        BeanUtils.copyProperties(req, alarmPlan);
+        BeanUtils.copyProperties(req, alarmPlan, "uuid");
         alarmPlan.setUpdateTime(LocalDateTime.now());
         alarmPlan.setCreateTime(LocalDateTime.now());
+        if (! StringUtils.hasText(alarmPlan.getUuid())) {
+             alarmPlan.setUuid(UUID.randomUUID().toString());
+        }
         alarmPlanService.saveOrUpdate(alarmPlan);
 
         AlarmTimePlan alarmTimePlan = new AlarmTimePlan();
@@ -148,23 +156,31 @@ public class AlarmGatewayImpl implements AlarmGateway {
     }
 
     @Override
-    public List<AlarmPlanTplDTO> queryPlanTpl(AlarmPlanTplQueryReq req) {
+    public PageRecord<AlarmPlanTplDTO> queryPlanTpl(AlarmPlanTplQueryReq req) {
 
-        List<AlarmPlanTpl> list = alarmPlanTplService.queryPlan(req);
-        if (CollectionUtils.isEmpty(list)) {
-            return Collections.emptyList();
-        }
 
-        List<AlarmPlanTplDTO> resList = new ArrayList<>();
-        for (AlarmPlanTpl alarmPlanTpl : list) {
+        // 2.执行分页查询
+        Page<AlarmPlanTpl> pageResult = alarmPlanTplService.queryPlan(req);
+
+        // 3.当前页数据转换为DTO
+        List<AlarmPlanTplDTO> resList = pageResult.getRecords().stream().map(alarmPlanTpl -> {
             AlarmPlanTplDTO copy = CopyUtils.copy(alarmPlanTpl, AlarmPlanTplDTO.class);
             if (alarmPlanTpl.getAlarmTimePlanTplId() != null) {
                 AlarmTimePlanTpl byId = alarmTimePlanTplService.getById(copy.getAlarmTimePlanTplId());
                 copy.setAlarmTimePlanTpl(CopyUtils.copy(byId, AlarmTimePlanTplDTO.class));
-                resList.add(copy);
             }
-        }
-        return resList;
+            return copy;
+        }).collect(Collectors.toList());
+
+        // 4. 封装 PageRecord 返回
+        PageRecord<AlarmPlanTplDTO> record = new PageRecord<>();
+        record.setRows(resList);
+        record.setTotal(pageResult.getTotal());
+        record.setPageNum((int) pageResult.getCurrent());
+        record.setPageSize((int) pageResult.getSize());
+        record.setTotalPageNum((int) pageResult.getPages());
+
+        return record;
     }
 
     @Override

+ 0 - 10
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/DeviceGatewayImpl.java

@@ -1010,17 +1010,7 @@ public class DeviceGatewayImpl implements DeviceGateway {
         }
     }
 
-    @Override
-    public void updateOTA(String clientId) {
-
-        String topic = String.format(TopicConstants.TOPIC_DEV_UPDATEOTA, clientId);
 
-        if (mqttClient != null) {
-            mqttClient.sendMessage(topic, "1");
-        } else {
-            log.warn("MQTT template is not available, message not sent to topic: {}", topic);
-        }
-    }
 
     @Override
     public void fixPost(String clientId, int poseIndex) {

+ 1 - 1
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/mqtt/MqttSend.java

@@ -209,7 +209,7 @@ public class MqttSend {
         jsonObject.put("operation", operation);
 
         try {
-            mqttClient.sendMessage(TopicConstants.TOPIC_LAS_ALARM_PLAN_UPDATE, jsonObject.toJSONString());
+            mqttClient.sendMessage(TopicConstants.TOPIC_LAS_ALARM_PLAN_UPDATE, jsonObject.toJSONString(),2,false);
         } catch (Exception e) {
             log.error("发送设备参数到MQTT失败", e);
             throw new BizException(ErrorEnum.MQTT_SEND_ERROR.getErrorCode(), ErrorEnum.MQTT_SEND_ERROR.getErrorMessage());

+ 2 - 3
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/AlarmPlanTplService.java

@@ -1,14 +1,13 @@
 package com.hfln.portal.infrastructure.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.hfln.portal.common.request.event.AlarmPlanTplQueryReq;
 import com.hfln.portal.infrastructure.po.AlarmPlanTpl;
 
-import java.util.List;
-
 public interface AlarmPlanTplService extends IService<AlarmPlanTpl> {
 
-    List<AlarmPlanTpl> queryPlan(AlarmPlanTplQueryReq req);
+    Page <AlarmPlanTpl> queryPlan(AlarmPlanTplQueryReq req);
 
     void delById(Integer alarmPlanId);
 }

+ 5 - 4
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/impl/AlarmPlanTplServiceImpl.java

@@ -1,6 +1,7 @@
 package com.hfln.portal.infrastructure.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.hfln.portal.common.request.event.AlarmPlanTplQueryReq;
 import com.hfln.portal.infrastructure.mapper.AlarmPlanTplMapper;
@@ -8,13 +9,11 @@ import com.hfln.portal.infrastructure.po.AlarmPlanTpl;
 import com.hfln.portal.infrastructure.service.AlarmPlanTplService;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 @Service
 public class AlarmPlanTplServiceImpl extends ServiceImpl<AlarmPlanTplMapper, AlarmPlanTpl> implements AlarmPlanTplService {
 
     @Override
-    public List<AlarmPlanTpl> queryPlan(AlarmPlanTplQueryReq req) {
+    public Page<AlarmPlanTpl> queryPlan(AlarmPlanTplQueryReq req) {
         LambdaQueryWrapper<AlarmPlanTpl> wrapper = new LambdaQueryWrapper<>();
         if (req.getEnable() != null) {
             wrapper.eq(AlarmPlanTpl::getEnable, req.getEnable());
@@ -22,7 +21,9 @@ public class AlarmPlanTplServiceImpl extends ServiceImpl<AlarmPlanTplMapper, Ala
         if (req.getEventVal() != null) {
             wrapper.eq(AlarmPlanTpl::getEventVal, req.getEventVal());
         }
-        return this.baseMapper.selectList(wrapper);
+
+        Page<AlarmPlanTpl> page = new Page<>(req.getPageNo(), req.getPageSize());
+        return this.baseMapper.selectPage(page,wrapper);
     }
 
     @Override