1. 发送设置低电压命令

This commit is contained in:
邱贞招 2024-05-29 19:47:06 +08:00
parent 45eed997ed
commit 89eea6a4a4
2 changed files with 43 additions and 2 deletions

View File

@ -56,6 +56,11 @@ public class IotConstants {
*/ */
public static final String COMMAND_SUB = "sub"; public static final String COMMAND_SUB = "sub";
/**
* 命令 发送低电压预警设置
*/
public static final String COMMAND_BAT = "bat";
/** /**
* 命令 超出营运区禁行区断电不进行轮动检测 * 命令 超出营运区禁行区断电不进行轮动检测
*/ */

View File

@ -5,15 +5,20 @@ import java.util.List;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.constant.IotConstants;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.onenet.Token;
import com.ruoyi.system.domain.AsDevice; import com.ruoyi.system.domain.AsDevice;
import com.ruoyi.system.mapper.AsDeviceMapper; import com.ruoyi.system.mapper.AsDeviceMapper;
import com.ruoyi.system.service.IAsDeviceService; import com.ruoyi.system.service.IAsDeviceService;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.EtModelMapper; import com.ruoyi.system.mapper.EtModelMapper;
import com.ruoyi.system.domain.EtModel; import com.ruoyi.system.domain.EtModel;
import com.ruoyi.system.service.IEtModelService; import com.ruoyi.system.service.IEtModelService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -23,6 +28,7 @@ import javax.annotation.Resource;
* @author 邱贞招 * @author 邱贞招
* @date 2024-05-13 * @date 2024-05-13
*/ */
@Slf4j
@Service @Service
public class EtModelServiceImpl implements IEtModelService public class EtModelServiceImpl implements IEtModelService
{ {
@ -74,11 +80,26 @@ public class EtModelServiceImpl implements IEtModelService
* @param etModel 车辆型号 * @param etModel 车辆型号
* @return 结果 * @return 结果
*/ */
@SneakyThrows
@Override @Override
@Transactional
public int insertEtModel(EtModel etModel) public int insertEtModel(EtModel etModel)
{ {
etModel.setCreateTime(DateUtils.getNowDate()); etModel.setCreateTime(DateUtils.getNowDate());
return etModelMapper.insertEtModel(etModel); int i = etModelMapper.insertEtModel(etModel);
// 发送设置低电压命令
Integer lowBatteryReminder = etModel.getLowBatteryReminder();
if(ObjectUtil.isNotNull(lowBatteryReminder) && lowBatteryReminder > 0){
AsDevice device = new AsDevice();
device.setModelId(etModel.getModelId());
List<AsDevice> asDevices = asDeviceService.selectAsDeviceList(device);
for(AsDevice asDevice: asDevices){
String lowVoltageCommand = IotConstants.COMMAND_BAT + lowBatteryReminder * 10 + "@";
log.info("发送低电压命令:" + lowVoltageCommand);
asDeviceService.sendCommand(asDevice.getMac(), Token.getToken(), lowVoltageCommand,"发送低电压播报");
}
}
return i;
} }
/** /**
@ -87,11 +108,26 @@ public class EtModelServiceImpl implements IEtModelService
* @param etModel 车辆型号 * @param etModel 车辆型号
* @return 结果 * @return 结果
*/ */
@SneakyThrows
@Override @Override
@Transactional
public int updateEtModel(EtModel etModel) public int updateEtModel(EtModel etModel)
{ {
etModel.setUpdateTime(DateUtils.getNowDate()); etModel.setUpdateTime(DateUtils.getNowDate());
return etModelMapper.updateEtModel(etModel); int i = etModelMapper.updateEtModel(etModel);
// 发送设置低电压命令
Integer lowBatteryReminder = etModel.getLowBatteryReminder();
if(ObjectUtil.isNotNull(lowBatteryReminder) && lowBatteryReminder > 0){
AsDevice device = new AsDevice();
device.setModelId(etModel.getModelId());
List<AsDevice> asDevices = asDeviceService.selectAsDeviceList(device);
for(AsDevice asDevice: asDevices){
String lowVoltageCommand = IotConstants.COMMAND_BAT + lowBatteryReminder * 10 + "@";
log.info("发送低电压命令:" + lowVoltageCommand);
asDeviceService.sendCommand(asDevice.getMac(), Token.getToken(), lowVoltageCommand,"发送低电压播报");
}
}
return i;
} }
/** /**