Commit 9b8f5728eb79a641384bc93a5d5a3f5a0d4c38bc

Authored by 云中非
1 parent e78f51f0

feat: 告警类型

1、设备告警类型
@@ -4,6 +4,7 @@ import io.swagger.annotations.Api; @@ -4,6 +4,7 @@ import io.swagger.annotations.Api;
4 import io.swagger.annotations.ApiOperation; 4 import io.swagger.annotations.ApiOperation;
5 import lombok.RequiredArgsConstructor; 5 import lombok.RequiredArgsConstructor;
6 import org.apache.commons.lang3.StringUtils; 6 import org.apache.commons.lang3.StringUtils;
  7 +import org.springframework.http.ResponseEntity;
7 import org.springframework.web.bind.annotation.GetMapping; 8 import org.springframework.web.bind.annotation.GetMapping;
8 import org.springframework.web.bind.annotation.RequestMapping; 9 import org.springframework.web.bind.annotation.RequestMapping;
9 import org.springframework.web.bind.annotation.RequestParam; 10 import org.springframework.web.bind.annotation.RequestParam;
@@ -14,15 +15,14 @@ import org.thingsboard.server.common.data.alarm.AlarmInfo; @@ -14,15 +15,14 @@ import org.thingsboard.server.common.data.alarm.AlarmInfo;
14 import org.thingsboard.server.common.data.alarm.AlarmStatus; 15 import org.thingsboard.server.common.data.alarm.AlarmStatus;
15 import org.thingsboard.server.common.data.exception.ThingsboardException; 16 import org.thingsboard.server.common.data.exception.ThingsboardException;
16 import org.thingsboard.server.common.data.page.TimePageLink; 17 import org.thingsboard.server.common.data.page.TimePageLink;
  18 +import org.thingsboard.server.common.data.yunteng.dto.SysDictDTO;
17 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; 19 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum;
18 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; 20 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
19 import org.thingsboard.server.controller.BaseController; 21 import org.thingsboard.server.controller.BaseController;
20 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity; 22 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity;
21 import org.thingsboard.server.dao.yunteng.service.YtAlarmInfoService; 23 import org.thingsboard.server.dao.yunteng.service.YtAlarmInfoService;
22 24
23 -import java.util.HashMap;  
24 -import java.util.Map;  
25 -import java.util.UUID; 25 +import java.util.*;
26 26
27 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*; 27 import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant.*;
28 28
@@ -70,4 +70,13 @@ public class YtAlarmInfoController extends BaseController { @@ -70,4 +70,13 @@ public class YtAlarmInfoController extends BaseController {
70 70
71 71
72 72
  73 + @ApiOperation(value="告警类型")
  74 + @GetMapping()
  75 + public ResponseEntity<List<SysDictDTO>> alarmType() throws ThingsboardException {
  76 + List result = alarmInfoService.alarmType(getCurrentUser().getTenantId());
  77 + return ResponseEntity.ok(result);
  78 + }
  79 +
  80 +
  81 +
73 } 82 }
@@ -15,7 +15,9 @@ import org.thingsboard.server.common.data.page.PageData; @@ -15,7 +15,9 @@ import org.thingsboard.server.common.data.page.PageData;
15 import org.thingsboard.server.common.data.page.TimePageLink; 15 import org.thingsboard.server.common.data.page.TimePageLink;
16 import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants; 16 import org.thingsboard.server.common.data.yunteng.constant.FastIotConstants;
17 import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO; 17 import org.thingsboard.server.common.data.yunteng.dto.OrganizationDTO;
  18 +import org.thingsboard.server.common.data.yunteng.dto.SysDictDTO;
18 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum; 19 import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum;
  20 +import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils;
19 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; 21 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
20 import org.thingsboard.server.dao.yunteng.entities.AlarmContact; 22 import org.thingsboard.server.dao.yunteng.entities.AlarmContact;
21 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity; 23 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity;
@@ -87,4 +89,8 @@ private final OrganizationMapper organizationMapper; @@ -87,4 +89,8 @@ private final OrganizationMapper organizationMapper;
87 } 89 }
88 } 90 }
89 91
  92 + @Override
  93 + public List<SysDictDTO> alarmType(TenantId tenantId) {
  94 + return ReflectUtils.sourceToTarget(ytJpaAarmDao.alarmType(tenantId.getId()), SysDictDTO.class);
  95 + }
90 } 96 }
@@ -11,6 +11,7 @@ import org.thingsboard.server.common.data.id.TenantId; @@ -11,6 +11,7 @@ import org.thingsboard.server.common.data.id.TenantId;
11 import org.thingsboard.server.common.data.yunteng.dto.MenuDTO; 11 import org.thingsboard.server.common.data.yunteng.dto.MenuDTO;
12 import org.thingsboard.server.common.data.yunteng.dto.TenantDTO; 12 import org.thingsboard.server.common.data.yunteng.dto.TenantDTO;
13 import org.thingsboard.server.dao.yunteng.entities.Menu; 13 import org.thingsboard.server.dao.yunteng.entities.Menu;
  14 +import org.thingsboard.server.dao.yunteng.entities.SysDict;
14 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity; 15 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity;
15 16
16 import java.util.Collection; 17 import java.util.Collection;
@@ -32,4 +33,6 @@ public interface YtAlarmMapper extends BaseMapper<YtAlarmEntity> { @@ -32,4 +33,6 @@ public interface YtAlarmMapper extends BaseMapper<YtAlarmEntity> {
32 ,@Param("originatorType") EntityType originatorType 33 ,@Param("originatorType") EntityType originatorType
33 ,@Param("organizationId")List<String> organizationId 34 ,@Param("organizationId")List<String> organizationId
34 ); 35 );
  36 +
  37 + List<SysDict> alarmType(@Param("tenantId") UUID tenantId);
35 } 38 }
@@ -7,9 +7,11 @@ import org.thingsboard.server.common.data.alarm.AlarmStatus; @@ -7,9 +7,11 @@ import org.thingsboard.server.common.data.alarm.AlarmStatus;
7 import org.thingsboard.server.common.data.id.TenantId; 7 import org.thingsboard.server.common.data.id.TenantId;
8 import org.thingsboard.server.common.data.page.TimePageLink; 8 import org.thingsboard.server.common.data.page.TimePageLink;
9 import org.thingsboard.server.common.data.yunteng.dto.AlarmInfoDTO; 9 import org.thingsboard.server.common.data.yunteng.dto.AlarmInfoDTO;
  10 +import org.thingsboard.server.common.data.yunteng.dto.SysDictDTO;
10 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData; 11 import org.thingsboard.server.common.data.yunteng.utils.tools.YtPageData;
11 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity; 12 import org.thingsboard.server.dao.yunteng.entities.YtAlarmEntity;
12 13
  14 +import java.util.List;
13 import java.util.Map; 15 import java.util.Map;
14 import java.util.UUID; 16 import java.util.UUID;
15 17
@@ -33,4 +35,12 @@ public interface YtAlarmInfoService { @@ -33,4 +35,12 @@ public interface YtAlarmInfoService {
33 */ 35 */
34 YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, String alarmType, Long startTime, Long endTime, AlarmStatus status, String deviceId, EntityType originatorType, String organizationId); 36 YtPageData<YtAlarmEntity> alarmPage(Map<String, Object> pageMap, TenantId tenantId, String alarmType, Long startTime, Long endTime, AlarmStatus status, String deviceId, EntityType originatorType, String organizationId);
35 37
  38 +
  39 + /**
  40 + * 设备告警类型
  41 + * @param tenantId
  42 + * @return
  43 + */
  44 + List<SysDictDTO> alarmType(TenantId tenantId);
  45 +
36 } 46 }
@@ -22,6 +22,11 @@ @@ -22,6 +22,11 @@
22 <result property="propagate" column="propagate"/> 22 <result property="propagate" column="propagate"/>
23 </resultMap> 23 </resultMap>
24 24
  25 + <resultMap type="org.thingsboard.server.dao.yunteng.entities.SysDict" id="alarmType">
  26 + <result property="dictName" column="dict_name"/>
  27 + <result property="dictCode" column="dict_code"/>
  28 + </resultMap>
  29 +
25 30
26 <select id="alarmPage" resultMap="alarmInfo"> 31 <select id="alarmPage" resultMap="alarmInfo">
27 SELECT d.name AS device_name,d.id device_id,m.* 32 SELECT d.name AS device_name,d.id device_id,m.*
@@ -32,7 +37,7 @@ @@ -32,7 +37,7 @@
32 AND type LIKE CONCAT('%',#{alarmType},'%') 37 AND type LIKE CONCAT('%',#{alarmType},'%')
33 </if> 38 </if>
34 <if test="startTime!=null"> 39 <if test="startTime!=null">
35 - AND created_time >= #{tenantId} 40 + AND created_time >= #{startTime}
36 </if> 41 </if>
37 <if test="endTime!=null"> 42 <if test="endTime!=null">
38 AND created_time &lt;= #{endTime} 43 AND created_time &lt;= #{endTime}
@@ -55,4 +60,14 @@ @@ -55,4 +60,14 @@
55 60
56 </where> 61 </where>
57 </select> 62 </select>
  63 +
  64 +
  65 + <select id="alarmType" resultMap="alarmType">
  66 + SELECT DISTINCT m.type AS dict_name,m.type AS dict_code
  67 + FROM alarm m
  68 + <where>
  69 + m.tenant_id = #{tenantId}
  70 + </where>
  71 + </select>
  72 +
58 </mapper> 73 </mapper>