|  |  | @ -98,6 +98,7 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         IssueProjectCategoryDictEntity otherCategory = categoryDictDao.selectSingleByCustomerIdAndCategoryNameAndCategoryType(customerId, ModuleConstants.CATEGORY_NAME_OTHERS, null); | 
			
		
	
		
			
				
					|  |  |  |         //是否传入的类别Id中只包含"其他"分类,因为自定义分类和默认分类排序规则不一样
 | 
			
		
	
		
			
				
					|  |  |  |         boolean ifOtherOnly = null == otherCategory ? false : (!CollectionUtils.isEmpty(category) && category.size() == NumConstant.ONE && category.contains(otherCategory.getId()) ? true : false); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         Map<String,List<IssueCategoryTagResultDTO>> result = new HashMap<>(); | 
			
		
	
	
		
			
				
					|  |  | @ -127,10 +128,9 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  |                 result.put(ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME,customizedResult); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |             //默认、自定义标签,只要有一个是空就触发补偿
 | 
			
		
	
		
			
				
					|  |  |  |             //查询结果是空就触发补偿
 | 
			
		
	
		
			
				
					|  |  |  |             //不信任缓存数据
 | 
			
		
	
		
			
				
					|  |  |  |             if(!CollectionUtils.isEmpty(result) && !CollectionUtils.isEmpty(result.get(ModuleConstants.DEFAULT_TAG_CATEGORY_NAME)) | 
			
		
	
		
			
				
					|  |  |  |                 && !CollectionUtils.isEmpty(result.get(ModuleConstants.CUSTOMIZED_TAG_CATEGORY_NAME))) | 
			
		
	
		
			
				
					|  |  |  |             if(!CollectionUtils.isEmpty(result)) | 
			
		
	
		
			
				
					|  |  |  |             return result; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -154,7 +154,7 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  |      * @Description    FIXME 该方法保留,默认查询缓存,默认和自定义两种标签均按热度排序 | 
			
		
	
		
			
				
					|  |  |  |      *                 FIXME 如果缓存中没有相关数据,则进行补偿,返回的数据为:1、默认标签(分类排序) 2、自定义标签(热度排序) | 
			
		
	
		
			
				
					|  |  |  |      *                 FIXME 补偿机制均是在缓存中存储热度得分,因此在业务改变之前不要调用该方法 | 
			
		
	
		
			
				
					|  |  |  |      *                 category为空,则补偿全部,返回默认标签和自定义标签 | 
			
		
	
		
			
				
					|  |  |  |      *                 category为空,返回默认标签和自定义标签 | 
			
		
	
		
			
				
					|  |  |  |      *                 category仅包含"其他"这个分类的Id时,同上 | 
			
		
	
		
			
				
					|  |  |  |      *                 category不为空且不只有"其他"这个分类的Id时,则返回集合中的类别标签以及自定义标签 | 
			
		
	
		
			
				
					|  |  |  |      *                 默认标签不按照热度排序,自定义标签按照热度排序 | 
			
		
	
	
		
			
				
					|  |  | @ -358,6 +358,18 @@ public class IssueProjectTagDictRedis { | 
			
		
	
		
			
				
					|  |  |  |         redisUtils.zSetAdd(key,o); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * @Description 给客户下的分类/标签批量增加/减少热度 | 
			
		
	
		
			
				
					|  |  |  |      * param   : | 
			
		
	
		
			
				
					|  |  |  |      *              key     : 0  代表减一     1 代表加一 | 
			
		
	
		
			
				
					|  |  |  |      *              value   : | 
			
		
	
		
			
				
					|  |  |  |      *                          key     : 某一客户下分类/标签的redisKey | 
			
		
	
		
			
				
					|  |  |  |      *                          value  :  需要修改的分类/标签 | 
			
		
	
		
			
				
					|  |  |  |      * @param param | 
			
		
	
		
			
				
					|  |  |  |      * @return void | 
			
		
	
		
			
				
					|  |  |  |      * @author wangc | 
			
		
	
		
			
				
					|  |  |  |      * @date 2021.03.20 01:04 | 
			
		
	
		
			
				
					|  |  |  |     */ | 
			
		
	
		
			
				
					|  |  |  |     public void batchIncrScore(Map<String,Map<String,List<IssueCategoryTagResultDTO>>> param){ | 
			
		
	
		
			
				
					|  |  |  |         if(CollectionUtils.isEmpty(param)) return; | 
			
		
	
		
			
				
					|  |  |  |         redisTemplate.executePipelined((RedisCallback) connection -> { | 
			
		
	
	
		
			
				
					|  |  | 
 |