|  |  | @ -27,7 +27,6 @@ import com.epmet.dto.result.IssueCategoryTagResultDTO; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.entity.IssueProjectCategoryDictEntity; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.entity.IssueProjectTagDictEntity; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.utils.ModuleConstants; | 
			
		
	
		
			
				
					|  |  |  | import com.fasterxml.jackson.databind.Module; | 
			
		
	
		
			
				
					|  |  |  | import com.fasterxml.jackson.databind.ObjectMapper; | 
			
		
	
		
			
				
					|  |  |  | import lombok.extern.slf4j.Slf4j; | 
			
		
	
		
			
				
					|  |  |  | import org.apache.commons.lang.StringUtils; | 
			
		
	
	
		
			
				
					|  |  | @ -107,14 +106,14 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         //如果keys集合为空,说明缓存中没有当前客户的标签排行信息,直接进行补偿
 | 
			
		
	
		
			
				
					|  |  |  |             Set<ZSetOperations.TypedTuple<Object>> customizedTuples = redisUtils.zReverseRangeWithScores(GovIssueRedisKeys.getGovernmentTagKey(customerId, null), NumConstant.ZERO_L, (long) (NumConstant.ONE_NEG)); | 
			
		
	
		
			
				
					|  |  |  |             Set<ZSetOperations.TypedTuple<Object>> customizedTuples = redisUtils.zReverseRangeWithScores(GovIssueRedisKeys.getGovernmentTagKey(customerId, ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME), NumConstant.ZERO_L, (long) (NumConstant.ONE_NEG)); | 
			
		
	
		
			
				
					|  |  |  |             if(!CollectionUtils.isEmpty(customizedTuples)){ | 
			
		
	
		
			
				
					|  |  |  |                 Map<Double, List<IssueCategoryTagResultDTO>> customizedHeatMap = new HashMap<>(); | 
			
		
	
		
			
				
					|  |  |  |                 customizedTuples.forEach(tuple -> { | 
			
		
	
		
			
				
					|  |  |  |                     List<IssueCategoryTagResultDTO> queue = customizedHeatMap.get(tuple.getValue()); | 
			
		
	
		
			
				
					|  |  |  |                     List<IssueCategoryTagResultDTO> queue = customizedHeatMap.get(tuple.getScore()); | 
			
		
	
		
			
				
					|  |  |  |                     if((CollectionUtils.isEmpty(queue))) queue = new LinkedList<>(); | 
			
		
	
		
			
				
					|  |  |  |                     queue.add(parseObject(tuple.getValue(), IssueCategoryTagResultDTO.class)); | 
			
		
	
		
			
				
					|  |  |  |                     customizedHeatMap.put((Double) tuple.getValue(),queue); | 
			
		
	
		
			
				
					|  |  |  |                     customizedHeatMap.put(tuple.getScore(),queue); | 
			
		
	
		
			
				
					|  |  |  |                 }); | 
			
		
	
		
			
				
					|  |  |  |                 List<IssueCategoryTagResultDTO> customizedResult = new LinkedList<>(); | 
			
		
	
		
			
				
					|  |  |  |                 customizedHeatMap.keySet().stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()).forEach(count -> { | 
			
		
	
	
		
			
				
					|  |  | @ -123,7 +122,10 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  |                 result.put(ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME,customizedResult); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             if(!CollectionUtils.isEmpty(result)) | 
			
		
	
		
			
				
					|  |  |  |             //默认、自定义标签,只要有一个是空就触发补偿
 | 
			
		
	
		
			
				
					|  |  |  |             //不信任缓存数据
 | 
			
		
	
		
			
				
					|  |  |  |             if(!CollectionUtils.isEmpty(result) && !CollectionUtils.isEmpty(result.get(ModuleConstants.DEFAULT_TAG_CATEGORY_NAME)) | 
			
		
	
		
			
				
					|  |  |  |                 && !CollectionUtils.isEmpty(result.get(ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME))) | 
			
		
	
		
			
				
					|  |  |  |             return result; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -285,7 +287,7 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  |                 fulfilled.forEach((redisKey, map) -> { | 
			
		
	
		
			
				
					|  |  |  |                     map.forEach((score,list) -> { | 
			
		
	
		
			
				
					|  |  |  |                         list.forEach(factor -> { | 
			
		
	
		
			
				
					|  |  |  |                             connection.zSetCommands().zAdd(redisTemplate.getValueSerializer().serialize(redisKey), | 
			
		
	
		
			
				
					|  |  |  |                             connection.zSetCommands().zAdd(redisTemplate.getKeySerializer().serialize(redisKey), | 
			
		
	
		
			
				
					|  |  |  |                                     score.doubleValue(), | 
			
		
	
		
			
				
					|  |  |  |                                     redisTemplate.getValueSerializer().serialize(factor)); | 
			
		
	
		
			
				
					|  |  |  |                         }); | 
			
		
	
	
		
			
				
					|  |  | 
 |