Commit 3e196e3b71a0a5228df5d01b3174f1a0d7630c50

Authored by chenjunyu_1481036421
1 parent be1029d3

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

... ... @@ -18,6 +18,7 @@ import org.thingsboard.rule.engine.api.msg.DeviceCredentialsUpdateNotificationMs
18 18 import org.thingsboard.server.common.data.Device;
19 19 import org.thingsboard.server.common.data.DeviceTransportType;
20 20 import org.thingsboard.server.common.data.EntityType;
  21 +import org.thingsboard.server.common.data.alarm.Alarm;
21 22 import org.thingsboard.server.common.data.audit.ActionType;
22 23 import org.thingsboard.server.common.data.edge.EdgeEventActionType;
23 24 import org.thingsboard.server.common.data.exception.ThingsboardException;
... ... @@ -38,6 +39,7 @@ import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum;
38 39 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum;
39 40 import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult;
40 41 import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
  42 +import org.thingsboard.server.controller.AlarmController;
41 43 import org.thingsboard.server.controller.BaseController;
42 44 import org.thingsboard.server.dao.yunteng.entities.TkUserCollectEntity;
43 45 import org.thingsboard.server.dao.yunteng.service.TkAlarmInfoService;
... ... @@ -66,6 +68,8 @@ public class TkDeviceController extends BaseController {
66 68 private final TkDeviceProfileService ytDeviceProfileService;
67 69 private final GatewayNotificationsService gatewayNotificationsService;
68 70 private final TkAlarmInfoService tkAlarmInfoService ;
  71 + private final AlarmController alarmController;
  72 +
69 73
70 74
71 75 @PostMapping
... ... @@ -326,12 +330,25 @@ public class TkDeviceController extends BaseController {
326 330 if(null !=tdIds){
327 331 for (String id : tdIds) {
328 332 deleteTbDevice(id);
329   - tkAlarmInfoService.deleteByDeviceId(currentTenantId,id);
  333 + deleteAlarm(id);
330 334 }
331 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 352 private void deleteTbDevice(String id) throws ThingsboardException {
336 353 DeviceId deviceId = new DeviceId(toUUID(id));
337 354
... ...
... ... @@ -124,8 +124,10 @@ public class TkAlarmInfoServiceImpl implements TkAlarmInfoService {
124 124 }
125 125
126 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 35
36 36 List<SysDictEntity> alarmType(@Param("tenantId") UUID tenantId);
37 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 54 */
55 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 37 </resultMap>
38 38
39 39
  40 +
  41 +
40 42 <select id="alarmPage" resultMap="alarmInfo">
41 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 44 FROM alarm m
... ... @@ -119,14 +121,13 @@
119 121 </where>
120 122 GROUP BY status;
121 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 126 <if test="tenantId !=null">
126 127 AND tenant_id= #{tenantId}::uuid
127 128 </if>
128 129 <if test="tbDeviceId !=null">
129 130 AND originator_id= #{tbDeviceId}::uuid
130 131 </if>
131   - </delete>
  132 + </select>
132 133 </mapper>
... ...