package com.ruoyi.job.task;
|
|
import com.ruoyi.other.api.feignClient.TechnicianClient;
|
import lombok.extern.log4j.Log4j2;
|
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.stereotype.Component;
|
import org.springframework.util.CollectionUtils;
|
|
import javax.annotation.Resource;
|
import java.util.Set;
|
|
@Component("technicianSubscribe")
|
@Log4j2
|
public class TechnicianSubscribe {
|
@Resource
|
private TechnicianClient technicianClient;
|
@Resource
|
private RedisTemplate<String, String> redisTemplate;
|
|
public void updateStatus() {
|
long now = System.currentTimeMillis() / 1000; // 获取当前时间戳(秒)
|
Set<String> subscribeIds = redisTemplate.opsForZSet().rangeByScore("delay_queue:subscribe", 0, now);
|
if (!CollectionUtils.isEmpty(subscribeIds)) {
|
subscribeIds.forEach(subscribeId -> {
|
technicianClient.updateStatus(3, Long.valueOf(subscribeId));
|
});
|
}
|
}
|
}
|