Commit 3e196e3b71a0a5228df5d01b3174f1a0d7630c50

Authored by chenjunyu_1481036421
1 parent be1029d3

feat:新增:1.删除设备时同时删除该设备的告警 (并删除之前的错误代码)

@@ -18,6 +18,7 @@ import org.thingsboard.rule.engine.api.msg.DeviceCredentialsUpdateNotificationMs @@ -18,6 +18,7 @@ import org.thingsboard.rule.engine.api.msg.DeviceCredentialsUpdateNotificationMs
18 import org.thingsboard.server.common.data.Device; 18 import org.thingsboard.server.common.data.Device;
19 import org.thingsboard.server.common.data.DeviceTransportType; 19 import org.thingsboard.server.common.data.DeviceTransportType;
20 import org.thingsboard.server.common.data.EntityType; 20 import org.thingsboard.server.common.data.EntityType;
  21 +import org.thingsboard.server.common.data.alarm.Alarm;
21 import org.thingsboard.server.common.data.audit.ActionType; 22 import org.thingsboard.server.common.data.audit.ActionType;
22 import org.thingsboard.server.common.data.edge.EdgeEventActionType; 23 import org.thingsboard.server.common.data.edge.EdgeEventActionType;
23 import org.thingsboard.server.common.data.exception.ThingsboardException; 24 import org.thingsboard.server.common.data.exception.ThingsboardException;
@@ -38,6 +39,7 @@ import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum; @@ -38,6 +39,7 @@ import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum;
38 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; 39 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum;
39 import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult; 40 import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult;
40 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData; 41 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
  42 +import org.thingsboard.server.controller.AlarmController;
41 import org.thingsboard.server.controller.BaseController; 43 import org.thingsboard.server.controller.BaseController;
42 import org.thingsboard.server.dao.yunteng.entities.TkUserCollectEntity; 44 import org.thingsboard.server.dao.yunteng.entities.TkUserCollectEntity;
43 import org.thingsboard.server.dao.yunteng.service.TkAlarmInfoService; 45 import org.thingsboard.server.dao.yunteng.service.TkAlarmInfoService;
@@ -66,6 +68,8 @@ public class TkDeviceController extends BaseController { @@ -66,6 +68,8 @@ public class TkDeviceController extends BaseController {
66 private final TkDeviceProfileService ytDeviceProfileService; 68 private final TkDeviceProfileService ytDeviceProfileService;
67 private final GatewayNotificationsService gatewayNotificationsService; 69 private final GatewayNotificationsService gatewayNotificationsService;
68 private final TkAlarmInfoService tkAlarmInfoService ; 70 private final TkAlarmInfoService tkAlarmInfoService ;
  71 + private final AlarmController alarmController;
  72 +
69 73
70 74
71 @PostMapping 75 @PostMapping
@@ -326,12 +330,25 @@ public class TkDeviceController extends BaseController { @@ -326,12 +330,25 @@ public class TkDeviceController extends BaseController {
326 if(null !=tdIds){ 330 if(null !=tdIds){
327 for (String id : tdIds) { 331 for (String id : tdIds) {
328 deleteTbDevice(id); 332 deleteTbDevice(id);
329 - tkAlarmInfoService.deleteByDeviceId(currentTenantId,id); 333 + deleteAlarm(id);
330 } 334 }
331 tkdeviceService.deleteDevices(currentTenantId, deleteDTO.getIds()); 335 tkdeviceService.deleteDevices(currentTenantId, deleteDTO.getIds());
332 } 336 }
333 } 337 }
334 338
  339 + private void deleteAlarm(String id) throws ThingsboardException {
  340 + List<String> alarmIds = tkAlarmInfoService.getByTbDeviceId(getTenantId().toString(),id);
  341 + if(alarmIds.isEmpty()){
  342 + return;
  343 + }
  344 + alarmIds.forEach(strAlarmId -> {
  345 + try {
  346 + alarmController.deleteAlarm(strAlarmId);
  347 + } catch (ThingsboardException e) {
  348 + e.printStackTrace();
  349 + }
  350 + });
  351 + }
335 private void deleteTbDevice(String id) throws ThingsboardException { 352 private void deleteTbDevice(String id) throws ThingsboardException {
336 DeviceId deviceId = new DeviceId(toUUID(id)); 353 DeviceId deviceId = new DeviceId(toUUID(id));
337 354
@@ -124,8 +124,10 @@ public class TkAlarmInfoServiceImpl implements TkAlarmInfoService { @@ -124,8 +124,10 @@ public class TkAlarmInfoServiceImpl implements TkAlarmInfoService {
124 } 124 }
125 125
126 @Override 126 @Override
127 - public void deleteByDeviceId(String tenantId, String tbDeviceId) {  
128 - tkJpaAarmDao.deleteByDeviceId(tenantId,tbDeviceId); 127 + public List<String> getByTbDeviceId(String tenantId, String tbDeviceId) {
  128 + return tkJpaAarmDao.getByTbDeviceId(tenantId,tbDeviceId);
129 } 129 }
130 130
  131 +
  132 +
131 } 133 }
@@ -35,5 +35,5 @@ public interface TkAlarmMapper extends BaseMapper<TkAlarmEntity> { @@ -35,5 +35,5 @@ public interface TkAlarmMapper extends BaseMapper<TkAlarmEntity> {
35 35
36 List<SysDictEntity> alarmType(@Param("tenantId") UUID tenantId); 36 List<SysDictEntity> alarmType(@Param("tenantId") UUID tenantId);
37 List<AggregationDTO> countAlarms(@Param("queryMap") Map<String, Object> queryMap); 37 List<AggregationDTO> countAlarms(@Param("queryMap") Map<String, Object> queryMap);
38 - void deleteByDeviceId(@Param("tenantId") String tenantId, @Param("tbDeviceId") String tbDeviceId); 38 + List<String>getByTbDeviceId(@Param("tenantId") String tenantId, @Param("tbDeviceId") String tbDeviceId);
39 } 39 }
@@ -54,5 +54,5 @@ public interface TkAlarmInfoService { @@ -54,5 +54,5 @@ public interface TkAlarmInfoService {
54 */ 54 */
55 List<SysDictDTO> alarmType(TenantId tenantId); 55 List<SysDictDTO> alarmType(TenantId tenantId);
56 56
57 - void deleteByDeviceId(String tenantId, String tbDeviceId); 57 + List<String> getByTbDeviceId(String tenantId, String tbDeviceId);
58 } 58 }
@@ -37,6 +37,8 @@ @@ -37,6 +37,8 @@
37 </resultMap> 37 </resultMap>
38 38
39 39
  40 +
  41 +
40 <select id="alarmPage" resultMap="alarmInfo"> 42 <select id="alarmPage" resultMap="alarmInfo">
41 SELECT d.name AS device_name,d.alias AS device_alias,d.id device_id,m.*,d.organization_id,org.name organization_name 43 SELECT d.name AS device_name,d.alias AS device_alias,d.id device_id,m.*,d.organization_id,org.name organization_name
42 FROM alarm m 44 FROM alarm m
@@ -119,14 +121,13 @@ @@ -119,14 +121,13 @@
119 </where> 121 </where>
120 GROUP BY status; 122 GROUP BY status;
121 </select> 123 </select>
122 -  
123 - <delete id="deleteByDeviceId">  
124 - delete from alarm where 1=1 124 + <select id="getByTbDeviceId" resultType="java.lang.String">
  125 + SELECT id FROM alarm where 1=1
125 <if test="tenantId !=null"> 126 <if test="tenantId !=null">
126 AND tenant_id= #{tenantId}::uuid 127 AND tenant_id= #{tenantId}::uuid
127 </if> 128 </if>
128 <if test="tbDeviceId !=null"> 129 <if test="tbDeviceId !=null">
129 AND originator_id= #{tbDeviceId}::uuid 130 AND originator_id= #{tbDeviceId}::uuid
130 </if> 131 </if>
131 - </delete> 132 + </select>
132 </mapper> 133 </mapper>