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

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

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