|
@@ -9,6 +9,7 @@ import org.springblade.business.feign.WbsTreeContractStatisticsClient;
|
|
|
import org.springblade.business.mapper.InformationQueryMapper;
|
|
|
import org.springblade.business.service.IWbsTreeContractStatisticsService;
|
|
|
import org.springblade.business.service.impl.WbsTreeContractStatisticsServiceImpl;
|
|
|
+import org.springblade.common.utils.SystemUtils;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
@@ -36,29 +37,32 @@ public class WbsTreeContractStatisticsClientImpl implements WbsTreeContractStati
|
|
|
|
|
|
@Scheduled(cron = "0/30 * * * * ?")
|
|
|
public void updateInformationQueryStatus() {
|
|
|
+ if (!SystemUtils.isLinux()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
Map<String, String> map = new HashMap<>();
|
|
|
- List<String> queryIds = redisTemplate.opsForList().range(INFORMATION_QUERY_STATUS_STATISTICS_KEY, 0, 100);
|
|
|
+ List<String> queryIds = redisTemplate.opsForList().range(INFORMATION_QUERY_STATUS_STATISTICS_KEY, 0, 1000);
|
|
|
if (queryIds != null && !queryIds.isEmpty()) {
|
|
|
String ids = queryIds.stream().distinct().collect(Collectors.joining(","));
|
|
|
- List<InformationQuery> queryList = jdbcTemplate.query("select wbs_id, classify, contract_id from u_information_query where id in ( " + ids +" ) and is_deleted = 0 group by contract_id,wbs_id,classify",
|
|
|
+ List<InformationQuery> queryList = jdbcTemplate.query("select id,wbs_id, classify, contract_id from u_information_query where id in ( " + ids +" ) and is_deleted = 0 group by contract_id,wbs_id,classify",
|
|
|
new BeanPropertyRowMapper<>(InformationQuery.class));
|
|
|
if (!queryList.isEmpty()) {
|
|
|
for (InformationQuery query : queryList) {
|
|
|
if (map.containsKey(query.getWbsId() + "," + query.getContractId() + "," + query.getClassify())) {
|
|
|
- redisTemplate.opsForList().remove("blade:statistics:information_query_statistics_key", 1, query.getId() + "");
|
|
|
continue;
|
|
|
}
|
|
|
try {
|
|
|
wbsTreeContractStatisticsService.updateInformationNumber(query.getWbsId(), query.getClassify(), query.getContractId());
|
|
|
map.put(query.getWbsId() + "," + query.getContractId() + "," + query.getClassify(), "");
|
|
|
- redisTemplate.opsForList().remove("blade:statistics:information_query_statistics_key", 1, query.getId() + "");
|
|
|
} catch (Exception e) {
|
|
|
- redisTemplate.opsForList().remove("blade:statistics:information_query_statistics_key", 1, query.getId() + "");
|
|
|
redisTemplate.opsForList().rightPush("blade:statistics:information_query_statistics_key", query.getId() + "");
|
|
|
log.error("updateInformationQueryStatus wbsId = {}, contractId = {}, classify = {}", query.getWbsId(), query.getContractId(), query.getClassify() , e);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ for (String queryId : queryIds) {
|
|
|
+ redisTemplate.opsForList().remove("blade:statistics:information_query_statistics_key", 1, queryId);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|