Эх сурвалжийг харах

1.调整 告警时间服务号推送 根据标志位判断
2.调整 告警模板查询记录按倒序排列返回

hxd 1 сар өмнө
parent
commit
dfeac65f05

+ 1 - 0
portal-service-common/src/main/java/com/hfln/portal/common/request/web/ParameterUpsertParam.java

@@ -35,3 +35,4 @@ public class ParameterUpsertParam extends BaseVO {
 }
 
 
+

+ 5 - 1
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/config/MqttConfig.java

@@ -130,6 +130,9 @@ public class MqttConfig {
                 , TopicConstants.TOPIC_DEV_PRESENCE_CHANGE
                 , TopicConstants.TOPIC_DEV_FALLING_CHANGE
                 , TopicConstants.TOPIC_DEV_DEVICE_PARAM
+
+                // LAS 告警事件相关主题
+                , TopicConstants.TOPIC_LAS_ALARM_EVENT
         };
         
         MqttPahoMessageDrivenChannelAdapter adapter =
@@ -138,7 +141,8 @@ public class MqttConfig {
         adapter.setConverter(new DefaultPahoMessageConverter());
         adapter.setQos(2, 2, 0, 0
         , 2
-        , 2, 2, 1, 2, 1);
+        , 2, 2, 1, 2, 1
+        , 2);
         adapter.setOutputChannel(inputChannel());
         adapter.setTaskScheduler(taskScheduler());
         return adapter;

+ 17 - 5
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/mqtt/MqttSubHandle.java

@@ -68,6 +68,9 @@ public class MqttSubHandle {
     @Autowired
     private DevShareService devShareService;
 
+    @Autowired
+    private AlarmPlanService alarmPlanService;
+
     /**
      * MQTT消息统一入口处理方法
      *
@@ -701,8 +704,16 @@ public class MqttSubHandle {
             // 1.1 判断 消息类型是否符合  起夜异常 or 异常滞留
             if (AlarmEventType.isTargetEvent(eventType)) {
                 String clientId = obj.getString("dev_id");
+                String uuid = obj.getString("plan_uuid");
+
+                // 1.2 判断告警计划是否开启服务号推送
+                AlarmPlan alarmPlan = alarmPlanService.findByUuid(uuid);
+                if (alarmPlan.getLinkagePushWechatService() == 0) {
+                    log.info("服务号通知发送失败,当前设备告警计划未开启服务号推送: clientId={}, uuid={}", clientId, uuid);
+                    return;
+                }
 
-                // 1.2 查找设备信息,获取主绑人的userId
+                // 1.3 查找设备信息,获取主绑人的userId
                 DevInfo dev = devInfoService.queryByClientId(clientId);
 
                 if (dev == null) {
@@ -715,27 +726,28 @@ public class MqttSubHandle {
                 String devId = dev.getClientId();
 
 
-                // 1.3 如果userId为空,则没有绑定人
+                // 1.4 如果userId为空,则没有绑定人
                 if (userId == null) {
                     log.info("服务号通知发送失败,设备未绑定用户: clientId={}", clientId);
                     return;
                 }
 
-                // 1.4 查询主绑人信息
+                // 1.5 查询主绑人信息
                 UserInfo user = userService.queryById(userId);
 
-                // 1.5 获取用户微信服务号OpenId
+                // 1.6 获取用户微信服务号OpenId
                 WxRelation wxRelations = wxRelationService.queryOneByUnionId(user.getUnionId());
 
                 if (wxRelations == null) {
                     log.info("服务号通知发送失败,用户未绑定微信服务号: userId={}", userId);
+                    return;
                 }
                 String fwhOpenId = wxRelations.getFwhOpenId();
 
                 log.info("mqttutil--当前useropenid=" + user.getOpenid() + ", fwhopenId=" + fwhOpenId);
                 log.info("发送微信公众号信息:devName=" + devName.toString() + ", phoneNo=" + user.getPhone() + "fwhOpenId=" + fwhOpenId);
 
-                // 1.6 发送微信公告号消息
+                // 1.7 发送微信公告号消息
                 wxOfficeAccountClient.sendMsg(devId, devName.toString(), user.getPhone(), fwhOpenId, "设备检测到异常滞留,请前往小程序查看详细信息");
                 log.info("发送微信公众号消息发完了");
                 return;

+ 2 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/AlarmPlanService.java

@@ -10,4 +10,6 @@ public interface AlarmPlanService extends IService<AlarmPlan> {
     List<AlarmPlan> queryByClientId(String clientId);
 
     void delById(Integer alarmPlanId);
+
+    AlarmPlan findByUuid( String uuid);
 }

+ 1 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/TblParameterService.java

@@ -7,3 +7,4 @@ public interface TblParameterService extends IService<TblParameter> {
 }
 
 
+

+ 7 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/impl/AlarmPlanServiceImpl.java

@@ -24,4 +24,11 @@ public class AlarmPlanServiceImpl extends ServiceImpl<AlarmPlanMapper, AlarmPlan
     public void delById(Integer id) {
         this.baseMapper.delById(id);
     }
+
+    @Override
+    public AlarmPlan findByUuid( String uuid){
+        LambdaQueryWrapper<AlarmPlan> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(AlarmPlan::getUuid, uuid);
+        return this.baseMapper.selectOne(wrapper);
+    }
 }

+ 3 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/impl/AlarmPlanTplServiceImpl.java

@@ -22,6 +22,9 @@ public class AlarmPlanTplServiceImpl extends ServiceImpl<AlarmPlanTplMapper, Ala
             wrapper.eq(AlarmPlanTpl::getEventVal, req.getEventVal());
         }
 
+        // 按照倒序时间排列
+        wrapper.orderByDesc(AlarmPlanTpl::getCreateTime);
+
         Page<AlarmPlanTpl> page = new Page<>(req.getPageNo(), req.getPageSize());
         return this.baseMapper.selectPage(page,wrapper);
     }

+ 1 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/impl/TblParameterServiceImpl.java

@@ -11,3 +11,4 @@ public class TblParameterServiceImpl extends ServiceImpl<TblParameterMapper, Tbl
 }
 
 
+