|
|
@@ -15,59 +15,61 @@ import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
public class RedisCheckRepeatDataUtil {
|
|
|
-
|
|
|
- private static final StringRedisTemplate redisTemplate= SpringUtils.getBean(StringRedisTemplate.class);
|
|
|
+
|
|
|
+ private static final StringRedisTemplate redisTemplate = SpringUtils.getBean(StringRedisTemplate.class);
|
|
|
+
|
|
|
/**
|
|
|
* 验证是否在段时间内收到重复的数据
|
|
|
+ *
|
|
|
* @param key
|
|
|
* @param value
|
|
|
* @return
|
|
|
*/
|
|
|
- public boolean checkData (String key,String value){
|
|
|
+ public boolean checkData(String key, String value) {
|
|
|
boolean flag = true;
|
|
|
- if(redisTemplate.hasKey(key)){
|
|
|
+ if (redisTemplate.hasKey(key)) {
|
|
|
String val = (String) redisTemplate.opsForValue().get(key);
|
|
|
- if(val!=null){
|
|
|
- if(value.equals(val)){
|
|
|
+ if (val != null) {
|
|
|
+ if (value.equals(val)) {
|
|
|
flag = false;
|
|
|
- }else{
|
|
|
- redisTemplate.opsForValue().set(key,value);
|
|
|
- redisTemplate.expire(key,60, TimeUnit.MINUTES);
|
|
|
+ } else {
|
|
|
+ redisTemplate.opsForValue().set(key, value);
|
|
|
+ redisTemplate.expire(key, 60, TimeUnit.MINUTES);
|
|
|
}
|
|
|
- }else {
|
|
|
- redisTemplate.opsForValue().set(key,value);
|
|
|
- redisTemplate.expire(key,60, TimeUnit.MINUTES);
|
|
|
+ } else {
|
|
|
+ redisTemplate.opsForValue().set(key, value);
|
|
|
+ redisTemplate.expire(key, 60, TimeUnit.MINUTES);
|
|
|
}
|
|
|
- }else{
|
|
|
- redisTemplate.opsForValue().set(key,value);
|
|
|
- redisTemplate.expire(key,60, TimeUnit.MINUTES);
|
|
|
+ } else {
|
|
|
+ redisTemplate.opsForValue().set(key, value);
|
|
|
+ redisTemplate.expire(key, 60, TimeUnit.MINUTES);
|
|
|
}
|
|
|
return flag;
|
|
|
}
|
|
|
|
|
|
- public boolean checkData (String key,String value,int timeOut){
|
|
|
+ public boolean checkData(String key, String value, int timeOut) {
|
|
|
boolean flag = true;
|
|
|
- if(Boolean.TRUE.equals(redisTemplate.hasKey(key))){
|
|
|
+ if (Boolean.TRUE.equals(redisTemplate.hasKey(key))) {
|
|
|
String val = (String) redisTemplate.opsForValue().get(key);
|
|
|
- if(val!=null){
|
|
|
- if(value.equals(val)){
|
|
|
+ if (val != null) {
|
|
|
+ if (value.equals(val)) {
|
|
|
flag = false;
|
|
|
- }else{
|
|
|
- redisTemplate.opsForValue().set(key,value);
|
|
|
- if(timeOut>0){
|
|
|
- redisTemplate.expire(key,timeOut, TimeUnit.MINUTES);
|
|
|
+ } else {
|
|
|
+ redisTemplate.opsForValue().set(key, value);
|
|
|
+ if (timeOut > 0) {
|
|
|
+ redisTemplate.expire(key, timeOut, TimeUnit.MINUTES);
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
- redisTemplate.opsForValue().set(key,value);
|
|
|
- if(timeOut>0){
|
|
|
- redisTemplate.expire(key,timeOut, TimeUnit.MINUTES);
|
|
|
+ } else {
|
|
|
+ redisTemplate.opsForValue().set(key, value);
|
|
|
+ if (timeOut > 0) {
|
|
|
+ redisTemplate.expire(key, timeOut, TimeUnit.MINUTES);
|
|
|
}
|
|
|
}
|
|
|
- }else{
|
|
|
- redisTemplate.opsForValue().set(key,value);
|
|
|
- if(timeOut>0){
|
|
|
- redisTemplate.expire(key,timeOut, TimeUnit.MINUTES);
|
|
|
+ } else {
|
|
|
+ redisTemplate.opsForValue().set(key, value);
|
|
|
+ if (timeOut > 0) {
|
|
|
+ redisTemplate.expire(key, timeOut, TimeUnit.MINUTES);
|
|
|
}
|
|
|
}
|
|
|
return flag;
|
|
|
@@ -75,12 +77,13 @@ public class RedisCheckRepeatDataUtil {
|
|
|
|
|
|
/**
|
|
|
* 分页数据数据在redis中的存取
|
|
|
+ *
|
|
|
* @param request
|
|
|
* @param clazz
|
|
|
* @param <T>
|
|
|
* @return
|
|
|
*/
|
|
|
- public static <T> List<T> isCompleted(DataPageDto<T> request, Class<T> clazz){
|
|
|
+ public static <T> List<T> isCompleted(DataPageDto<T> request, Class<T> clazz) {
|
|
|
String packageGuid = request.getPackageGuid();
|
|
|
Long currPage = request.getCurrPage();
|
|
|
Long totalPage = request.getTotalPage();
|
|
|
@@ -93,10 +96,10 @@ public class RedisCheckRepeatDataUtil {
|
|
|
String currPageKey = packageGuid + "_" + currPage;
|
|
|
|
|
|
Boolean isExist = redisTemplate.hasKey(currPageKey);
|
|
|
- if(Boolean.FALSE.equals(isExist)){
|
|
|
+ if (Boolean.FALSE.equals(isExist)) {
|
|
|
String data = JSON.toJSONString(dtoList);
|
|
|
- redisTemplate.opsForValue().set(currPageKey,data);
|
|
|
- redisTemplate.expire(currPageKey,1, TimeUnit.DAYS);
|
|
|
+ redisTemplate.opsForValue().set(currPageKey, data);
|
|
|
+ redisTemplate.expire(currPageKey, 1, TimeUnit.DAYS);
|
|
|
}
|
|
|
List<String> allPageKeyList = new ArrayList<>();
|
|
|
for (int i = 1; i <= totalPage; i++) {
|
|
|
@@ -106,11 +109,11 @@ public class RedisCheckRepeatDataUtil {
|
|
|
//判断是否拿到所有的数据
|
|
|
final List<Boolean> list = allPageKeyList.stream().map(key -> redisTemplate.hasKey(key)).distinct().collect(Collectors.toList());
|
|
|
if (list.contains(Boolean.FALSE)) {
|
|
|
- return ListUtil.empty();
|
|
|
+ // return ListUtil.empty();
|
|
|
}
|
|
|
|
|
|
return allPageKeyList.stream().map(k -> {
|
|
|
- String obj = (String) redisTemplate.opsForValue().get(k);
|
|
|
+ String obj = redisTemplate.opsForValue().get(k);
|
|
|
if (ObjectUtil.isNotEmpty(obj)) {
|
|
|
final List<T> ts = JSON.parseArray(obj, clazz);
|
|
|
redisTemplate.delete(k);
|