This commit is contained in:
磷叶 2025-04-19 16:11:18 +08:00
parent c83307cb6d
commit eea4a678c0
3 changed files with 35 additions and 2 deletions

View File

@ -68,6 +68,28 @@ public class MathUtils {
return a.compareTo(b) > 0;
}
// 判断a是否大于b
public static boolean biggerThan(String a, String b) {
if (a == null) {
a = "0";
}
if (b == null) {
b = "0";
}
return biggerThan(new BigDecimal(a), new BigDecimal(b));
}
// 判断a是否小于b
public static boolean smallerThan(String a, String b) {
if (a == null) {
a = "0";
}
if (b == null) {
b = "0";
}
return smallerThan(new BigDecimal(a), new BigDecimal(b));
}
// 判断a是否小于b
public static boolean smallerThan(BigDecimal a, BigDecimal b) {
if (a == null) {

View File

@ -24,9 +24,11 @@ import com.ruoyi.bst.device.service.DeviceIotService;
import com.ruoyi.bst.device.utils.DeviceUtil;
import com.ruoyi.bst.orderDevice.domain.enums.OrderDeviceStatus;
import com.ruoyi.common.constants.ServiceCode;
import com.ruoyi.common.utils.MathUtils;
import com.ruoyi.common.utils.ServiceUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.collection.CollectionUtils;
import com.ruoyi.iot.constants.IotConstants;
import com.ruoyi.iot.domain.IotDeviceInfo;
import com.ruoyi.iot.domain.response.CommandResponse;
import com.ruoyi.iot.enums.IotHttpStatus;
@ -385,6 +387,15 @@ public class DeviceIotServiceImpl implements DeviceIotService {
ServiceUtil.assertion(device == null, "设备不存在");
ServiceUtil.assertion(StringUtils.isBlank(music), "声音设置不能为空");
String softwareVersion = device.getSoftwareVersion();
ServiceUtil.assertion(softwareVersion == null, "当前设备暂无软件版本,无法设置声音");
if (IotConstants.MUSIC_VOICE.equals(music)) {
ServiceUtil.assertion(MathUtils.smallerThan(softwareVersion, "6000"), "当前设备软件版本低于6000无法设置为语音");
}
if (IotConstants.MUSIC_RING.equals(music)) {
ServiceUtil.assertion(MathUtils.smallerThan(softwareVersion, "6900"), "当前设备软件版本低于6900无法设置为彩铃");
}
DeviceIotVO vo = new DeviceIotVO();
transactionTemplate.execute(status -> {

View File

@ -49,7 +49,7 @@ public class HardwareVersionAssemblerImpl implements HardwareVersionAssembler {
HardwareVersionQuery query = new HardwareVersionQuery();
query.setHardwareVersionIds(list.stream().map(HardwareVersionVO::getId).collect(Collectors.toList()));
List<HardwareVersionVO> hardwareVersionList = hardwareVersionService.selectBoundCount(query);
Map<Long, Integer> idToBoundMap = hardwareVersionList.stream().collect(Collectors.toMap(HardwareVersionVO::getId, HardwareVersion::getBound));
Map<Long, Integer> idToBoundMap = hardwareVersionList.stream().collect(Collectors.toMap(HardwareVersionVO::getId, HardwareVersionVO::getBound));
list.forEach(vo->{
vo.setBound(idToBoundMap.getOrDefault(vo.getId(), 0));
});
@ -63,7 +63,7 @@ public class HardwareVersionAssemblerImpl implements HardwareVersionAssembler {
HardwareVersionQuery query = new HardwareVersionQuery();
query.setHardwareVersionIds(list.stream().map(HardwareVersionVO::getId).collect(Collectors.toList()));
List<HardwareVersionVO> hardwareVersionList = hardwareVersionService.selectUnBoundCount(query);
Map<Long, Integer> idToBoundMap = hardwareVersionList.stream().collect(Collectors.toMap(HardwareVersionVO::getId, HardwareVersion::getUnBound));
Map<Long, Integer> idToBoundMap = hardwareVersionList.stream().collect(Collectors.toMap(HardwareVersionVO::getId, HardwareVersionVO::getUnBound));
list.forEach(vo->{
vo.setUnBound(idToBoundMap.getOrDefault(vo.getId(), 0));
});