diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/DeviceStatusVo.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/DeviceStatusVo.java new file mode 100644 index 0000000..c3b77e9 --- /dev/null +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/domain/DeviceStatusVo.java @@ -0,0 +1,18 @@ +package com.bonus.job.domain; + +import lombok.Data; + +@Data +public class DeviceStatusVo { + /** + * 设备编码 + */ + private String deviceCode; + /** + * 设备状态 + */ + private String status; + + + +} diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/DeviceStatusMapper.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/DeviceStatusMapper.java new file mode 100644 index 0000000..dd9040d --- /dev/null +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/mapper/DeviceStatusMapper.java @@ -0,0 +1,22 @@ +package com.bonus.job.mapper; + +import com.bonus.job.domain.DeviceStatusVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface DeviceStatusMapper { + + /** + * 查询设备信息 + * @return + */ + List getAllDeviceList(); + + /** + * 批量更新数据 + * @param list + */ + void updateDeviceStatus(List list); +} diff --git a/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/DeviceStatusTask.java b/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/DeviceStatusTask.java new file mode 100644 index 0000000..6706d25 --- /dev/null +++ b/bonus-modules/bonus-job/src/main/java/com/bonus/job/task/DeviceStatusTask.java @@ -0,0 +1,60 @@ +package com.bonus.job.task; + +import com.bonus.common.redis.service.RedisService; +import com.bonus.job.domain.DeviceStatusVo; +import com.bonus.job.mapper.DeviceStatusMapper; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.PostMapping; + +import javax.annotation.PostConstruct; +import java.util.List; +import java.util.concurrent.TimeUnit; + +@Component("deviceStatusTask") +@Slf4j +public class DeviceStatusTask { + + @Autowired + private DeviceStatusMapper mapper; + + @Autowired + private RedisService redisUtils; + + public final static int PAGE_SIZE=100; + + /** + * 查询全部考情机进行 + */ + public void updateDeviceStatus(){ + try{ + updateDeviceStatus(1); + }catch (Exception e){ + log.error(e.getMessage(),e); + } + } + public void updateDeviceStatus(int pageNum){ + PageHelper.startPage(pageNum,PAGE_SIZE); + List list=mapper.getAllDeviceList(); + for (DeviceStatusVo vo:list){ + String status=redisUtils.getCacheObject("att_dev:status:"+vo.getDeviceCode()); + if(StringUtils.isEmpty(status)){ + vo.setStatus("0"); + }else{ + vo.setStatus(status); + } + } + mapper.updateDeviceStatus(list); + PageInfo pageInfo =new PageInfo(list); + int pageSize=pageInfo.getPageNum(); + int pageTotal=pageInfo.getPages(); + if(pageSize + + + + + update pm_att_device set on_line=#{item.status} where device_code=#{item.deviceCode} + + + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/DeviceHandle.java b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/DeviceHandle.java index 83aaaba..27746b7 100644 --- a/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/DeviceHandle.java +++ b/bonus-modules/bonus-urk/src/main/java/com/bonus/urk/handle/DeviceHandle.java @@ -47,7 +47,6 @@ public class DeviceHandle { }else{ System.err.println("数据新增失败---->"+devId); } - } deviceVo.setTransId(transId); return deviceVo;