beetlsql3-dev
malx 2 years ago
parent 273d4af046
commit 807176145f

@ -14,8 +14,7 @@ import java.util.List;
import java.util.stream.Collectors;
import static com.ibeetl.jlw.enums.QuestionLogAddTypeEnum.PRE_SUBMIT;
import static com.ibeetl.jlw.service.questionSettingQueue.RedisDelayQueue.QuestionQueueTypeEnum.QUESTION_SETTING;
import static com.ibeetl.jlw.service.questionSettingQueue.RedisDelayQueue.QuestionQueueTypeEnum.questionSetting;
/**
* : <br>
@ -61,7 +60,7 @@ public class QuestionSettingRedisDelayQueueImpl extends RedisDelayQueue<Question
public void consumer() {
new Thread(() -> {
// 为了走异步
questionSettingRedisDelayQueue.loop(QUESTION_SETTING.name());
questionSettingRedisDelayQueue.loop(questionSetting.name());
}).start();
}
}

@ -5,10 +5,13 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.ibeetl.admin.core.util.PlatformException;
import lombok.Data;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
@ -32,10 +35,15 @@ public abstract class RedisDelayQueue<T> {
private ZSetOperations<String, Object> zSetOperations;
public RedisDelayQueue(RedisTemplate<String, Object> redisTemplate) {
redisTemplate.setKeySerializer(RedisSerializer.string());
redisTemplate.setValueSerializer(RedisSerializer.string());
redisTemplate.setHashKeySerializer(RedisSerializer.string());
redisTemplate.setHashValueSerializer(RedisSerializer.string());
zSetOperations = redisTemplate.opsForZSet();
}
@Data
@Setter
@Getter
@RequiredArgsConstructor
public static class QuestionSettingTaskItem<T> {
final public String id;
@ -43,7 +51,7 @@ public abstract class RedisDelayQueue<T> {
}
public enum QuestionQueueTypeEnum {
QUESTION_SETTING
questionSetting
}
/**
@ -97,7 +105,7 @@ public abstract class RedisDelayQueue<T> {
*/
public boolean isExists(String queueKey, String otherKey) {
Set<Object> objects = zSetOperations.rangeByScore(queueKey, 0, -1);
return objects.stream().anyMatch(item -> JSON.parseObject(item.toString()).containsValue(otherKey));
return objects.stream().anyMatch(item -> item.toString().contains(otherKey));
}
/**

Loading…
Cancel
Save