You've already forked FrameTour-BE
对接n9e
This commit is contained in:
@@ -22,7 +22,9 @@ import com.ycwl.basic.service.pc.ScenicAccountService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
@@ -51,6 +53,10 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
private ScenicAccountService scenicAccountService;
|
||||
@Autowired
|
||||
private DeviceRepository deviceRepository;
|
||||
@Autowired
|
||||
private ExtraDeviceMapper extraDeviceMapper;
|
||||
@Autowired
|
||||
private RedisTemplate<String, String> redisTemplate;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<ScenicAppVO>> pageQuery(ScenicReqQuery scenicReqQuery) {
|
||||
@@ -126,6 +132,24 @@ public class AppScenicServiceImpl implements AppScenicService {
|
||||
deviceRespVO.setUpdateAt(null);
|
||||
}
|
||||
}
|
||||
List<DeviceRespVO> extraDeviceList = extraDeviceMapper.listExtraDeviceByScenicId(scenicId);
|
||||
for (DeviceRespVO deviceRespVO : extraDeviceList) {
|
||||
if (redisTemplate.hasKey("ext_device:online:"+deviceRespVO.getNo())) {
|
||||
String onlineTs = redisTemplate.opsForValue().get("ext_device:online:"+deviceRespVO.getNo());
|
||||
if (!StringUtils.isNumeric(onlineTs)) {
|
||||
deviceRespVO.setOnline(0);
|
||||
continue;
|
||||
}
|
||||
Long ts = Long.parseLong(onlineTs);
|
||||
Date keepaliveAt = new Date(ts*1000);
|
||||
deviceRespVO.setUpdateAt(keepaliveAt);
|
||||
deviceRespVO.setKeepaliveAt(keepaliveAt);
|
||||
deviceRespVO.setOnline(keepaliveAt.getTime() > System.currentTimeMillis()-1000*60*5 ? 1 : 0);
|
||||
} else {
|
||||
deviceRespVO.setOnline(0);
|
||||
}
|
||||
}
|
||||
deviceRespVOList.addAll(0, extraDeviceList);
|
||||
return ApiResponse.success(deviceRespVOList);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user