1.新增警报种类

2.新增根据设备id返回设备信息
3.更新获取任务详情接口
4.更新获取任务接口
This commit is contained in:
chenlinghy 2023-08-26 19:00:40 +08:00
parent acd4eae5d9
commit fc8ab788d1
11 changed files with 128 additions and 84 deletions

View File

@ -4,13 +4,12 @@ import com.zjyr.beidouservice.common.EnumerationBase;
public enum AlarmTypeName implements EnumerationBase {
ALARM_TYPE_AIRATTACK(0, "ALARM_TYPE_AIRATTACK"),
ALARM_TYPE_DISASTER(1, "ALARM_TYPE_DISASTER"),
ALARM_TYPE_PREPARE(2, "ALARM_TYPE_PREPARE"),
ALARM_TYPE_PREPARE(1, "ALARM_TYPE_PREPARE"),
ALARM_TYPE_AIRATTACK(2, "ALARM_TYPE_AIRATTACK"),
ALARM_TYPE_RELIEVE_AIRATTACK(3, "ALARM_TYPE_RELIEVE_AIRATTACK"),
ALARM_TYPE_RELIEVE_DISASTER(4, "ALARM_TYPE_RELIEVE_DISASTER"),
;
ALARM_TYPE_DISASTER(5, "ALARM_TYPE_DISASTER"),
ALARM_TYPE_INTERRUPT(6, "ALARM_TYPE_INTERRUPT");
private final Integer code;
private final String desc;

View File

@ -2,6 +2,7 @@ package com.zjyr.beidouservice.controller;
import com.zjyr.beidouservice.pojo.MyResp;
import com.zjyr.beidouservice.pojo.dto.DeviceByIdRespDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceReqDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceRespDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceSearchDTO;
@ -48,8 +49,8 @@ public class DeviceController {
*/
@Operation(summary = "根据deviceId获取设备信息")
@PostMapping("device/info/deviceId")
public MyResp<DeviceRespDTO> getDeviceByDeviceId(@RequestBody DeviceSearchDTO deviceSearchDTO) {
DeviceRespDTO deviceRespDTO = deviceService.getDeviceByDeviceId(deviceSearchDTO);
public MyResp<DeviceByIdRespDTO> getDeviceByDeviceId(@RequestBody DeviceSearchDTO deviceSearchDTO) {
DeviceByIdRespDTO deviceRespDTO = deviceService.getDeviceByDeviceId(deviceSearchDTO);
return MyResp.success(deviceRespDTO);
}
}

View File

@ -1,18 +0,0 @@
package com.zjyr.beidouservice.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevMaunDTO {
private Long deviceId;
private Integer alarmManufacturer;
private Integer controlManufacturer;
}

View File

@ -1,16 +0,0 @@
package com.zjyr.beidouservice.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevTaskExecRespDTO {
List<TaskExecRespContentDTO> data;
}

View File

@ -0,0 +1,106 @@
package com.zjyr.beidouservice.pojo.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zjyr.beidouservice.constenum.DeviceAlarmStatusEnum;
import com.zjyr.beidouservice.pojo.dataobject.DeviceDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "设备请求返回体")
public class DeviceByIdRespDTO {
/**
* 设备id
*/
@Schema(title = "设备id", example = "123")
private Integer deviceId;
/**
* 终端名称
*/
@Schema(title = "设备名称", example = "大运河002")
private String deviceName;
/**
* 经度
*/
@Schema(title = "设备经度", example = "372.12")
private Float latitude;
/**
* 纬度
*/
@Schema(title = "设备维度", example = "37.90")
private Float longitude;
/**
* 所属区县
*/
@Schema(title = "区县代码", example = "90")
private Integer countyCode;
/**
* 所属地市
*/
@Schema(title = "所属地市", example = "1")
private Integer cityCode;
/**
* 所属省份
*/
@Schema(title = "所属省份", example = "33")
private Integer provinceCode;
/**
* 安装地址
*/
@Schema(title = "安装地址", example = "余杭区五常街道")
private String installSite;
/**
* 是否告警中
*/
@Schema(title = "是否告警中", example = "false", description = "false为非告警中true为告警中")
private Boolean isAlarming;
/**
* 联系方式
*/
@Schema(title = "联系方式", example = "18867111100")
private String mobile;
/**
*安装时间
*/
@Schema(title = "安装时间", example = "2023-08-26 21:00:05", description = "安装时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date installTime;
public static DeviceByIdRespDTO fromDO(DeviceDO deviceDO) {
DeviceByIdRespDTO resp = new DeviceByIdRespDTO();
resp.setDeviceId(deviceDO.getDeviceId());
resp.setDeviceName(deviceDO.getDeviceName());
resp.setCountyCode(deviceDO.getCountyCode());
resp.setCityCode(deviceDO.getCityCode());
resp.setProvinceCode(deviceDO.getProvinceCode());
resp.setLatitude(deviceDO.getLatitude());
resp.setLongitude(deviceDO.getLongitude());
resp.setInstallSite(deviceDO.getInstallSite());
resp.setIsAlarming(DeviceAlarmStatusEnum.ALARMING.getCode().equals(deviceDO.getAlarmStatus()));
resp.setMobile(deviceDO.getMobile());
resp.setInstallTime(deviceDO.getInstallTime());
return resp;
}
}

View File

@ -1,18 +0,0 @@
package com.zjyr.beidouservice.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ManufacturerContentDTO {
private String ManufacturerName;
private Integer ManufacturerType;
}

View File

@ -1,18 +0,0 @@
package com.zjyr.beidouservice.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ManufacturerRespDTO {
List<ManufacturerContentDTO> data;
}

View File

@ -44,9 +44,9 @@ public class AlarmTaskReqDTO {
private Integer alarmType;
/**
* 警报种类 1:预先警报 2:空袭警报 3:灾情警 4:解除警报灾 5:解除警报
* 警报种类 1:预先警报 2:空袭警报 3:灾情警 4:解除警报灾 5:解除警报 6:中断警报
*/
@Schema(title = "警报种类", example = "2",description = "1:预先警报 2:空袭警报 3:灾情警 4:解除警报灾 5:解除警报")
@Schema(title = "警报种类", example = "2",description = "1:预先警报 2:空袭警报 3:灾情警 4:解除警报灾 5:解除警报 6:中断警报")
private Integer alarmKind;
/**

View File

@ -2,6 +2,7 @@ package com.zjyr.beidouservice.service;
import com.zjyr.beidouservice.pojo.dataobject.AlarmDeviceTaskDO;
import com.zjyr.beidouservice.pojo.dto.DeviceByIdRespDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceReqDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceRespDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceSearchDTO;
@ -21,7 +22,7 @@ public interface DeviceService {
*
* @return 设备
*/
DeviceRespDTO getDeviceByDeviceId(DeviceSearchDTO deviceSearchDTO);
DeviceByIdRespDTO getDeviceByDeviceId(DeviceSearchDTO deviceSearchDTO);
/**
* 根据设备任务更新设备告警状态

View File

@ -99,7 +99,9 @@ public class AlarmTaskServiceImpl implements AlarmTaskService {
.approvalStatus(ApprovalStatusEnum.APPROVAL_SUCCESS.getCode()).build();
//入库
Long generatedId = alarmTaskMapper.addAlarmTask(alarmTaskDO);
alarmTaskMapper.addAlarmTask(alarmTaskDO);
Long generatedId = alarmTaskDO.getId();
log.info("generatedId:[{}]", generatedId);
List<AlarmDeviceTaskDO> alarmDeviceTaskDOS = getAlarmDeviceTaskDOS(alarmTaskReqDTO, deviceInfo, generatedId);
alarmDeviceTaskMapper.addAlarmDevTaskInfoList(alarmDeviceTaskDOS);
@ -173,6 +175,9 @@ public class AlarmTaskServiceImpl implements AlarmTaskService {
List<AlarmDeviceTaskDO> result = getAggregatedAlarmDeviceTaskDOS(taskIdStrList);
// 执行中的不展示在详情页
result = result.stream().filter(s -> !TaskStatusName.TASK_EXECUTING.getValue().equals(s.getStatus())).collect(Collectors.toList());
if(result.isEmpty()){
return null;
}
PageInfoVO pageInfoVO = new PageInfoVO((long) result.size(), pageSize, pageNum);
// 分页
@ -246,6 +251,7 @@ public class AlarmTaskServiceImpl implements AlarmTaskService {
PageHelper.clearPage();
return pgInfo;
}
private static List<AlarmDeviceTaskDO> getAlarmDeviceTaskDOS(AlarmTaskReqDTO alarmTaskReqDTO, DeviceInfoDTO deviceInfo, Long taskId) {
List<AlarmDeviceTaskDO> alarmDeviceTaskDOS = new ArrayList<>();
List<Integer> deviceIds = deviceInfo.getDeviceIds();

View File

@ -6,6 +6,7 @@ import com.zjyr.beidouservice.constenum.DeviceAlarmStatusEnum;
import com.zjyr.beidouservice.mapper.DeviceMapper;
import com.zjyr.beidouservice.pojo.dataobject.AlarmDeviceTaskDO;
import com.zjyr.beidouservice.pojo.dataobject.DeviceDO;
import com.zjyr.beidouservice.pojo.dto.DeviceByIdRespDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceByLocationDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceReqDTO;
import com.zjyr.beidouservice.pojo.dto.DeviceRespDTO;
@ -55,7 +56,7 @@ public class DeviceServiceImpl implements DeviceService {
}
@Override
public DeviceRespDTO getDeviceByDeviceId(DeviceSearchDTO deviceSearchDTO) {
public DeviceByIdRespDTO getDeviceByDeviceId(DeviceSearchDTO deviceSearchDTO) {
log.info("get device info by deviceId: [{}]", deviceSearchDTO.getDeviceId());
List<DeviceDO> deviceDOList = deviceMapper.selectDeviceByDeviceIds(Collections.singletonList(deviceSearchDTO.getDeviceId()));
@ -64,7 +65,7 @@ public class DeviceServiceImpl implements DeviceService {
return null;
}
return DeviceRespDTO.fromDO(deviceDOList.get(0));
return DeviceByIdRespDTO.fromDO(deviceDOList.get(0));
}
@Override