diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqIotDeviceController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqIotDeviceController.java index d4d3e2e42..29876e399 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqIotDeviceController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqIotDeviceController.java @@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSONObject; +import com.github.benmanes.caffeine.cache.Cache; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.Constants; @@ -33,6 +34,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; @@ -65,7 +67,8 @@ public class EqIotDeviceController extends BaseController { private final WebSocketBusinessHandler webSocketBusinessHandler; - + @Resource + private Cache tokenCache; /** @@ -139,6 +142,17 @@ public class EqIotDeviceController extends BaseController { @SaIgnore @PostMapping("/sendDeviceMsg2") public void sendDeviceMsg2(@RequestBody EqEquipmentLogBo eqEquipmentLogBo){ + String status = eqEquipmentLogBo.getStatus() + ""; + String statusCache = tokenCache.getIfPresent("status"); + if (StringUtils.isEmpty(statusCache)){ + tokenCache.put("status",status); + }else { + if (!statusCache.equals(status)){ + tokenCache.put("status",status); + }else{ + return; + } + } String equipmentName = eqEquipmentLogBo.getEquipmentName(); //设备id查询 DeviceByDeviceName deviceByNameDto = iotService.apiTenantDevicesByName(equipmentName);//无信息会抛异常 无需判断