Просмотр исходного кода

1.调整wap端解绑设备 删除设备下告警计划
2.调整web端超管解绑设备 删除设备下告警计划

hxd 1 месяц назад
Родитель
Сommit
ee4a6e1d08

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

@@ -23,6 +23,7 @@ import com.hfln.portal.common.dto.data.share.QueryUserPermissionDTO;
 import com.hfln.portal.common.dto.data.share.ShareDetailsDTO;
 import com.hfln.portal.common.dto.data.share.ShareDto;
 import com.hfln.portal.common.request.device.*;
+import com.hfln.portal.common.request.event.AlarmPlanDelReq;
 import com.hfln.portal.common.request.room.RoomParam;
 import com.hfln.portal.common.request.room.SubRegionInfo;
 import com.hfln.portal.common.request.share.*;
@@ -32,6 +33,7 @@ import com.hfln.portal.domain.customer.OssBusiType;
 import com.hfln.portal.domain.customer.util.DevPosFixUtil;
 import com.hfln.portal.domain.customer.util.PhoneUtils;
 import com.hfln.portal.domain.exception.ErrorEnum;
+import com.hfln.portal.domain.gateway.AlarmGateway;
 import com.hfln.portal.domain.gateway.DeviceGateway;
 import com.hfln.portal.infrastructure.mqtt.MqttClient;
 import com.hfln.portal.infrastructure.mqtt.MqttSend;
@@ -116,6 +118,12 @@ public class DeviceGatewayImpl implements DeviceGateway {
     @Autowired
     private EventsService EventsService;
 
+    @Autowired
+    private AlarmGateway alarmGateway;
+
+    @Autowired
+    private AlarmPlanService alarmPlanService;
+
 
     @Override
     public HomeInfoDTO queryHomeInfo(Long userId) {
@@ -236,6 +244,23 @@ public class DeviceGatewayImpl implements DeviceGateway {
                             .set(DevShare::getIsDeleted, BasePO.DeleteFlag.DELETED));
             updateFlag = flag && flagV2;
 
+            //删除设备下的告警计划
+
+            List<AlarmPlan> alarmPlans = alarmPlanService.queryByClientId(devInfo.getClientId());
+
+            if (alarmPlans != null && !alarmPlans.isEmpty()) {
+                for (AlarmPlan plan : alarmPlans){
+                    try {
+                    AlarmPlanDelReq req = new AlarmPlanDelReq();
+                    req.setId(plan.getId());
+                    alarmGateway.delPlan(req);
+                    log.info("已删除告警计划,planId={}", plan.getId());
+                }catch (Exception e){
+                        log.error("删除告警计划失败,planId={}", plan.getId(), e);
+                    }
+                }
+            }
+
             //记录主绑人解绑设备
             logContent = String.format("用户 %d 主绑定解绑设备 %s", userId, devId);
 

+ 23 - 4
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/WebAdminDealGatewayImpl.java

@@ -5,17 +5,16 @@ import cn.hfln.framework.extension.BizException;
 import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.hfln.portal.common.request.event.AlarmPlanDelReq;
 import com.hfln.portal.common.request.web.AdminDealUnbindParam;
 import com.hfln.portal.common.request.web.AdminQueryWxUserParam;
 import com.hfln.portal.common.response.user.UserInfoDto;
 import com.hfln.portal.domain.customer.OprLogType;
 import com.hfln.portal.domain.customer.util.CopyUtils;
 import com.hfln.portal.domain.exception.ErrorEnum;
+import com.hfln.portal.domain.gateway.AlarmGateway;
 import com.hfln.portal.domain.gateway.WebAdminDealGateway;
-import com.hfln.portal.infrastructure.po.DevInfo;
-import com.hfln.portal.infrastructure.po.DevShare;
-import com.hfln.portal.infrastructure.po.GroupDevMap;
-import com.hfln.portal.infrastructure.po.UserInfo;
+import com.hfln.portal.infrastructure.po.*;
 import com.hfln.portal.infrastructure.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,6 +37,10 @@ public class WebAdminDealGatewayImpl implements WebAdminDealGateway {
     private TblOprLogService tblOprLogService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private AlarmGateway alarmGateway;
+    @Autowired
+    private AlarmPlanService alarmPlanService;
 
     @Override
     @Transactional
@@ -48,6 +51,7 @@ public class WebAdminDealGatewayImpl implements WebAdminDealGateway {
         // 3 设备所属租户 解绑
         // 2 设备被分享者 逻辑删除
         // 4 群组分享表 逻辑删除
+        // 5 设备下告警计划 物理删除
         log.info("超管对设备devId:{}, 进行解绑", param.getDevId());
 
         DevInfo devInfo = devInfoService.getById(param.getDevId());
@@ -76,6 +80,21 @@ public class WebAdminDealGatewayImpl implements WebAdminDealGateway {
                         .eq(GroupDevMap::getIsDeleted, 0)
                         .set(GroupDevMap::getIsDeleted, 1)
         );
+        // 设备下告警计划 物理删除
+        List<AlarmPlan> alarmPlans = alarmPlanService.queryByClientId(devInfo.getClientId());
+
+        if (alarmPlans != null && !alarmPlans.isEmpty()) {
+            for (AlarmPlan plan : alarmPlans){
+                try {
+                    AlarmPlanDelReq req = new AlarmPlanDelReq();
+                    req.setId(plan.getId());
+                    alarmGateway.delPlan(req);
+                    log.info("已删除告警计划,planId={}", plan.getId());
+                }catch (Exception e){
+                    log.error("删除告警计划失败,planId={}", plan.getId(), e);
+                }
+            }
+        }
 
         // 对设备 绑定信息置空信息
         devInfoService.resetDevInfo(devInfo.getDevId());

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

@@ -21,7 +21,6 @@ public interface DevInfoMapper extends BaseMapper<DevInfo> {
             "tenant_id = null , " +
             "online = 0 , " +
             "onoff_time = null , " +
-            "dev_warn = null , " +
             "wifi_name = null , " +
             "wifi_password = null , " +
             "ip = null , " +