control channel 支持复数

This commit is contained in:
nicole 2023-11-20 22:07:18 +08:00
parent 83d156c74e
commit c23b188d86
3 changed files with 15 additions and 5 deletions

View File

@ -1,11 +1,14 @@
package com.zjyr.beidouservice.pojo.dataobject; package com.zjyr.beidouservice.pojo.dataobject;
import com.zjyr.beidouservice.common.impl.SensorControlTunnelName;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import java.util.Date; import java.util.Date;
import java.util.List;
@Data @Data
@Builder @Builder
@ -65,4 +68,9 @@ public class AlarmTaskDO {
*/ */
private Integer approvalStatus; private Integer approvalStatus;
public void setControlChannel(List<Integer> controlChannel) {
this.controlChannel = ObjectUtils.isEmpty(controlChannel) ?
SensorControlTunnelName.TUNNEL_ALL.getValue() :
controlChannel.stream().mapToInt(Integer::intValue).sum();
}
} }

View File

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List;
@Data @Data
@Builder @Builder
@ -62,7 +63,7 @@ public class AlarmTaskReqDTO {
* 更新: 1:无线 2:北斗 4:电话 8:NB 15:all * 更新: 1:无线 2:北斗 4:电话 8:NB 15:all
*/ */
@Schema(title = "控制通道", example = "2",description = "1:无线 2:北斗 4:电话 8:NB 15:all默认北斗") @Schema(title = "控制通道", example = "2",description = "1:无线 2:北斗 4:电话 8:NB 15:all默认北斗")
private Integer controlChannel; private List<Integer> controlChannel;
/** /**
* 发放时间 * 发放时间

View File

@ -44,6 +44,7 @@ import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@ -90,8 +91,8 @@ public class AlarmTaskServiceImpl implements AlarmTaskService {
public MyResp alarmTaskExec(AlarmTaskReqDTO alarmTaskReqDTO) { public MyResp alarmTaskExec(AlarmTaskReqDTO alarmTaskReqDTO) {
//根据选择的省份地市区域或指定设备信息获取执行任务的deviceIdprovinceCode默认为null //根据选择的省份地市区域或指定设备信息获取执行任务的deviceIdprovinceCode默认为null
DeviceInfoDTO deviceInfo = getExecDeviceInfo(alarmTaskReqDTO); DeviceInfoDTO deviceInfo = getExecDeviceInfo(alarmTaskReqDTO);
int ctrlChannel = Optional.ofNullable(alarmTaskReqDTO.getControlChannel()) List<Integer> ctrlChannel = Optional.ofNullable(alarmTaskReqDTO.getControlChannel())
.orElse(SensorControlTunnelName.TUNNEL_ALL.getValue()); .orElse(Collections.singletonList(SensorControlTunnelName.TUNNEL_ALL.getValue()));
//生成规则为"JL"+"当前年月日"+"4位自增ID" //生成规则为"JL"+"当前年月日"+"4位自增ID"
String taskId = generateRecordNumber(); String taskId = generateRecordNumber();
@ -103,10 +104,10 @@ public class AlarmTaskServiceImpl implements AlarmTaskService {
.alarmCounty(deviceInfo.getCountyCodes() == null ? " " : ListToString(deviceInfo.getCountyCodes())) .alarmCounty(deviceInfo.getCountyCodes() == null ? " " : ListToString(deviceInfo.getCountyCodes()))
.deviceIds(ListToString(deviceInfo.getDeviceIds())) .deviceIds(ListToString(deviceInfo.getDeviceIds()))
.alarmMode(alarmTaskReqDTO.getAlarmMode()) .alarmMode(alarmTaskReqDTO.getAlarmMode())
.controlChannel(ctrlChannel)
.sender(alarmTaskReqDTO.getSender()) .sender(alarmTaskReqDTO.getSender())
.sendTime(alarmTaskReqDTO.getSendTime()) .sendTime(alarmTaskReqDTO.getSendTime())
.approvalStatus(ApprovalStatusEnum.APPROVAL_SUCCESS.getCode()).build(); .approvalStatus(ApprovalStatusEnum.APPROVAL_SUCCESS.getCode()).build();
alarmTaskDO.setControlChannel(ctrlChannel);
//入库 //入库
alarmTaskMapper.addAlarmTask(alarmTaskDO); alarmTaskMapper.addAlarmTask(alarmTaskDO);
@ -123,7 +124,7 @@ public class AlarmTaskServiceImpl implements AlarmTaskService {
CommonEnumHandler.codeOf(AlarmModeName.class, alarmTaskReqDTO.getAlarmMode()), CommonEnumHandler.codeOf(AlarmModeName.class, alarmTaskReqDTO.getAlarmMode()),
CommonEnumHandler.codeOf(AlarmControlTypeName.class, alarmTaskReqDTO.getAlarmType()), CommonEnumHandler.codeOf(AlarmControlTypeName.class, alarmTaskReqDTO.getAlarmType()),
CommonEnumHandler.codeOf(AlarmTypeName.class, alarmTaskReqDTO.getAlarmKind()), CommonEnumHandler.codeOf(AlarmTypeName.class, alarmTaskReqDTO.getAlarmKind()),
ctrlChannel, alarmTaskDO.getControlChannel(),
alarmTaskReqDTO.getSendTime(), alarmTaskReqDTO.getSendTime(),
0, null, 0, null,
deviceInfo.getCityCodes(), deviceInfo.getCityCodes(),