|
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
import com.github.benmanes.caffeine.cache.Caffeine; |
|
|
import com.github.benmanes.caffeine.cache.Caffeine; |
|
|
import com.github.benmanes.caffeine.cache.LoadingCache; |
|
|
import com.github.benmanes.caffeine.cache.LoadingCache; |
|
|
import com.google.common.collect.Lists; |
|
|
import com.google.common.collect.Lists; |
|
|
import com.google.common.collect.Sets; |
|
|
|
|
|
import com.ningdatech.kqapi.common.constant.BizConst; |
|
|
import com.ningdatech.kqapi.common.constant.BizConst; |
|
|
import com.ningdatech.kqapi.zzsfw.entity.entity.DscSxAdsShareItemQltQlsxCommonIDVKq; |
|
|
import com.ningdatech.kqapi.zzsfw.entity.entity.DscSxAdsShareItemQltQlsxCommonIDVKq; |
|
|
import com.ningdatech.kqapi.zzsfw.entity.entity.MatterKey; |
|
|
import com.ningdatech.kqapi.zzsfw.entity.entity.MatterKey; |
|
@@ -18,9 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
|
|
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Objects; |
|
|
import java.util.Objects; |
|
|
import java.util.Set; |
|
|
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
import java.util.concurrent.TimeUnit; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* <p> |
|
|
* <p> |
|
@@ -43,11 +40,15 @@ public abstract class AbstractMatterCacheHelper implements InitializingBean { |
|
|
|
|
|
|
|
|
protected LoadingCache<String, String> mattersUrlCache; |
|
|
protected LoadingCache<String, String> mattersUrlCache; |
|
|
|
|
|
|
|
|
|
|
|
private final String KQ_ZZS_BASE_URL = "https://www.zjzwfw.gov.cn/zjservice-fe/#/workguide?localInnerCode=&siteCode=330000000000"; |
|
|
|
|
|
|
|
|
private Boolean initMatterCache() { |
|
|
private Boolean initMatterCache() { |
|
|
List<DscSxAdsShareItemQltQlsxCommonIDVKq> allMatters = kqService |
|
|
List<DscSxAdsShareItemQltQlsxCommonIDVKq> allMatters = kqService |
|
|
.list(Wrappers.lambdaQuery(DscSxAdsShareItemQltQlsxCommonIDVKq.class) |
|
|
.list(Wrappers.lambdaQuery(DscSxAdsShareItemQltQlsxCommonIDVKq.class) |
|
|
.select(DscSxAdsShareItemQltQlsxCommonIDVKq::getRowguid,DscSxAdsShareItemQltQlsxCommonIDVKq::getQlName, |
|
|
.select(DscSxAdsShareItemQltQlsxCommonIDVKq::getRowguid,DscSxAdsShareItemQltQlsxCommonIDVKq::getQlName, |
|
|
DscSxAdsShareItemQltQlsxCommonIDVKq::getWebapplyurl) |
|
|
DscSxAdsShareItemQltQlsxCommonIDVKq::getWebapplyurl) |
|
|
|
|
|
.eq(DscSxAdsShareItemQltQlsxCommonIDVKq::getQlState, "1") |
|
|
|
|
|
.isNotNull(DscSxAdsShareItemQltQlsxCommonIDVKq::getQlInnerCodeItem) |
|
|
.isNotNull(DscSxAdsShareItemQltQlsxCommonIDVKq::getWebapplyurl) |
|
|
.isNotNull(DscSxAdsShareItemQltQlsxCommonIDVKq::getWebapplyurl) |
|
|
.orderByDesc(DscSxAdsShareItemQltQlsxCommonIDVKq::getUpdateDate)); |
|
|
.orderByDesc(DscSxAdsShareItemQltQlsxCommonIDVKq::getUpdateDate)); |
|
|
if (allMatters.isEmpty()) { |
|
|
if (allMatters.isEmpty()) { |
|
@@ -55,12 +56,14 @@ public abstract class AbstractMatterCacheHelper implements InitializingBean { |
|
|
return Boolean.FALSE; |
|
|
return Boolean.FALSE; |
|
|
} |
|
|
} |
|
|
allMatters.forEach(m -> { |
|
|
allMatters.forEach(m -> { |
|
|
MatterKey key = MatterKey.of(m.getQlName(),m.getWebapplyurl()); |
|
|
|
|
|
|
|
|
// 1-11日修改新的url匹配规则,取事项状态为1且qlInnerCodeItem不为空的进行拼接,新的url规则如下 |
|
|
|
|
|
String kq_url = KQ_ZZS_BASE_URL.replace("localInnerCode=", "localInnerCode=" + m.getQlInnerCodeItem()); |
|
|
|
|
|
MatterKey key = MatterKey.of(m.getQlName(),kq_url); |
|
|
if(!mattersUrlCache.asMap().containsKey(m.getQlName())){ |
|
|
if(!mattersUrlCache.asMap().containsKey(m.getQlName())){ |
|
|
mattersUrlCache.put(m.getQlName(),m.getWebapplyurl()); |
|
|
|
|
|
|
|
|
mattersUrlCache.put(m.getQlName(),kq_url); |
|
|
}else{ |
|
|
}else{ |
|
|
String url = mattersUrlCache.get(m.getQlName()); |
|
|
String url = mattersUrlCache.get(m.getQlName()); |
|
|
if(StringUtils.isNotBlank(url) && !url.equals(m.getWebapplyurl())){ |
|
|
|
|
|
|
|
|
if(StringUtils.isNotBlank(url) && !url.equals(kq_url)){ |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@@ -69,7 +72,7 @@ public abstract class AbstractMatterCacheHelper implements InitializingBean { |
|
|
dup.setCountNum(dup.getCountNum() + 1); |
|
|
dup.setCountNum(dup.getCountNum() + 1); |
|
|
mattersDupCache.put(key,dup); |
|
|
mattersDupCache.put(key,dup); |
|
|
}else{ |
|
|
}else{ |
|
|
mattersDupCache.put(key,NdKqZzsfwMattersDeduplicate.of(m.getQlName(),m.getWebapplyurl())); |
|
|
|
|
|
|
|
|
mattersDupCache.put(key,NdKqZzsfwMattersDeduplicate.of(m.getQlName(),kq_url)); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
return Boolean.TRUE; |
|
|
return Boolean.TRUE; |
|
@@ -129,13 +132,18 @@ public abstract class AbstractMatterCacheHelper implements InitializingBean { |
|
|
.build(key -> { |
|
|
.build(key -> { |
|
|
DscSxAdsShareItemQltQlsxCommonIDVKq matter = kqService.getOne(Wrappers.lambdaQuery(DscSxAdsShareItemQltQlsxCommonIDVKq.class) |
|
|
DscSxAdsShareItemQltQlsxCommonIDVKq matter = kqService.getOne(Wrappers.lambdaQuery(DscSxAdsShareItemQltQlsxCommonIDVKq.class) |
|
|
.eq(DscSxAdsShareItemQltQlsxCommonIDVKq::getQlName, key) |
|
|
.eq(DscSxAdsShareItemQltQlsxCommonIDVKq::getQlName, key) |
|
|
|
|
|
.eq(DscSxAdsShareItemQltQlsxCommonIDVKq::getQlState, "1") |
|
|
|
|
|
.isNotNull(DscSxAdsShareItemQltQlsxCommonIDVKq::getWebapplyurl) |
|
|
|
|
|
.isNotNull(DscSxAdsShareItemQltQlsxCommonIDVKq::getQlInnerCodeItem) |
|
|
|
|
|
.orderByDesc(DscSxAdsShareItemQltQlsxCommonIDVKq::getUpdateDate) |
|
|
.last(BizConst.LIMIT_1) |
|
|
.last(BizConst.LIMIT_1) |
|
|
.isNotNull(DscSxAdsShareItemQltQlsxCommonIDVKq::getWebapplyurl)); |
|
|
|
|
|
|
|
|
); |
|
|
if (Objects.isNull(matter)) { |
|
|
if (Objects.isNull(matter)) { |
|
|
//查不到直接返回null |
|
|
//查不到直接返回null |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
return matter.getWebapplyurl(); |
|
|
|
|
|
|
|
|
// return matter.getWebapplyurl(); |
|
|
|
|
|
return "https://www.zjzwfw.gov.cn/zjservice-fe/#/workguide?localInnerCode="+ matter.getQlInnerCodeItem() +"&siteCode=330000000000"; |
|
|
}); |
|
|
}); |
|
|
mattersDupCache = Caffeine.newBuilder() |
|
|
mattersDupCache = Caffeine.newBuilder() |
|
|
.refreshAfterWrite(7, TimeUnit.DAYS) |
|
|
.refreshAfterWrite(7, TimeUnit.DAYS) |
|
|