|
@@ -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.IotDeviceMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
|
|
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 lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
@@ -31,6 +34,8 @@ public class TdCronJob implements JobHandler {
|
|
private IotDeviceMapper iotDeviceMapper;
|
|
private IotDeviceMapper iotDeviceMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private TDDeviceMapper deviceMapper;
|
|
private TDDeviceMapper deviceMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private StringRedisTemplate redisTemplate;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@TenantIgnore
|
|
@TenantIgnore
|
|
@@ -69,7 +74,16 @@ public class TdCronJob implements JobHandler {
|
|
} else {
|
|
} else {
|
|
device.setIfInline(4);
|
|
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 {
|
|
} else {
|
|
if (StringUtils.isNotBlank(device.getLastInlineTime())) {
|
|
if (StringUtils.isNotBlank(device.getLastInlineTime())) {
|
|
if (DateUtils.checkIfFullDayDifference(device.getLastInlineTime())) {
|
|
if (DateUtils.checkIfFullDayDifference(device.getLastInlineTime())) {
|