lipenghui преди 4 дни
родител
ревизия
c5511871c6
променени са 1 файла, в които са добавени 15 реда и са изтрити 1 реда
  1. 15 1
      yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/TdCronJob.java

+ 15 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/TdCronJob.java

@@ -10,9 +10,12 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.yanfan.YfDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
 import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
@@ -31,6 +34,8 @@ public class TdCronJob implements JobHandler {
     private IotDeviceMapper iotDeviceMapper;
     @Autowired
     private TDDeviceMapper deviceMapper;
+    @Autowired
+    private StringRedisTemplate redisTemplate;
 
     @Override
     @TenantIgnore
@@ -69,7 +74,16 @@ public class TdCronJob implements JobHandler {
                         } else {
                             device.setIfInline(4);
                         }
-
+                    Object lat = redisTemplate.opsForHash().get("TSLV:" + device.getDeviceCode(), "lat");
+                    if (Objects.nonNull(lat)) {
+                        JSONObject jsonObject = JSON.parseObject(lat.toString());
+                        device.setLat(Double.valueOf((String) jsonObject.get("value")));
+                    }
+                    Object lng = redisTemplate.opsForHash().get("TSLV:" + device.getDeviceCode(), "lng");
+                    if (Objects.nonNull(lng)) {
+                        JSONObject jsonObject = JSON.parseObject(lng.toString());
+                        device.setLng(Double.valueOf((String) jsonObject.get("value")));
+                    }
                 } else {
                         if (StringUtils.isNotBlank(device.getLastInlineTime())) {
                             if (DateUtils.checkIfFullDayDifference(device.getLastInlineTime())) {