离线情况处理,快速响应

This commit is contained in:
磷叶 2025-05-20 17:14:58 +08:00
parent 4d29635648
commit 1f0768c69e
2 changed files with 10 additions and 2 deletions

View File

@ -263,7 +263,8 @@ public class IotServiceImpl implements IotService {
private CommandResponse sendCommand(IotDevice device, String command, String reason, int tryCount) { private CommandResponse sendCommand(IotDevice device, String command, String reason, int tryCount) {
if (tryCount > 0) { if (tryCount > 0) {
CommandResponse res = sendCommand(device, command, null, reason); CommandResponse res = sendCommand(device, command, null, reason);
if (IotUtil.isSuccess(res) || tryCount <= 1) { // 若操作成功 or 设备离线 or 尝试次数小于等于1则直接返回结果
if (IotUtil.isSuccess(res) || IotUtil.isOffline(res) || tryCount <= 1) {
return res; return res;
} }
try { try {

View File

@ -211,6 +211,13 @@ public class IotUtil {
return result.isSuccess(); return result.isSuccess();
} }
public static boolean isOffline(CommandResponse result) {
if (result == null) {
return false;
}
return result.isNotOnline();
}
public static String getMsg(CommandResponse result) { public static String getMsg(CommandResponse result) {
if (result == null) { if (result == null) {
return "未知错误"; return "未知错误";
@ -229,7 +236,7 @@ public class IotUtil {
if (sys.getBat() != null && sys.getBat().compareTo(BigDecimal.valueOf(100)) >= 0) { if (sys.getBat() != null && sys.getBat().compareTo(BigDecimal.valueOf(100)) >= 0) {
sys.setBat(sys.getBat().divide(BigDecimal.valueOf(10), 2, BigDecimal.ROUND_HALF_UP)); sys.setBat(sys.getBat().divide(BigDecimal.valueOf(10), 2, BigDecimal.ROUND_HALF_UP));
} }
return sys; return sys;
} }
} }