| 
					
				 | 
			
			
				@@ -65,7 +65,7 @@ public class PushMessageStrategyV1 implements ReplyStrategyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 2 处理小程序--读取离线数据表--获取策略排序小程序数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<CgiReplyBucketData> smallDataCgiReplyList = readStrategyOrderSmallData(keyedSet, bucketDataParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 2.1 获取小程序落地页地址 http调用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        smallDataCgiReplyList = setSmallPageUrl(smallDataCgiReplyList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        smallDataCgiReplyList = setSmallPageUrl(smallDataCgiReplyList, bucketDataParam.getChannel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.info(JSON.toJSONString(smallDataCgiReplyList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 3 入库读表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         insertSmallData(smallDataCgiReplyList, keyedSet, bucketDataParam); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,49 +148,35 @@ public class PushMessageStrategyV1 implements ReplyStrategyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private List<CgiReplyBucketData> setSmallPageUrl(List<CgiReplyBucketData> smallDataCgiReplyList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<CgiReplyBucketData> setSmallPageUrl(List<CgiReplyBucketData> smallDataCgiReplyList, String channel) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (CollectionUtils.isEmpty(smallDataCgiReplyList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return smallDataCgiReplyList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Set<String> keys = smallDataCgiReplyList.stream().map(x -> x.getGhId() + "&" + x.getMiniVideoId()).collect(Collectors.toSet()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, SmallPageUrlDetail> keyPageUrl = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // gh-id + videoId 复用同一page_url及落地页id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (String key : keys) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String[] keyArr = key.split("&"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String ghId = keyArr[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String videoId = keyArr[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (CgiReplyBucketData cgiReplyBucketData : smallDataCgiReplyList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 查询库里是否存在,如果存在即复用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andMiniVideoIdEqualTo(Long.valueOf(videoId)).andGhIdEqualTo(ghId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<CgiReplyBucketData> cgiReplyBucketData = cgiReplyBucketDataMapper.selectByExample(cgiReplyBucketDataExample); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .andMiniVideoIdEqualTo(cgiReplyBucketData.getMiniVideoId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .andGhIdEqualTo(cgiReplyBucketData.getGhId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .andSortEqualTo(cgiReplyBucketData.getSort()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<CgiReplyBucketData> cgiReplyBucketDataList = cgiReplyBucketDataMapper.selectByExample(cgiReplyBucketDataExample); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             SmallPageUrlDetail smallPageUrlDetail = new SmallPageUrlDetail(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (CollectionUtils.isEmpty(cgiReplyBucketData)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (CollectionUtils.isEmpty(cgiReplyBucketDataList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 库里不存在,调用新生成 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String response = httpClientService.sendAdFlowAddRequest(GET_SMALL_PAGE_URL, videoId, "公众号", "自动回复小程序", "位置X", ghId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String response = httpClientService.sendAdFlowAddRequest(GET_SMALL_PAGE_URL, cgiReplyBucketData.getMiniVideoId(), "dyyjs", channel, "自动", "公众号", "自动回复小程序", "位置" + cgiReplyBucketData.getSort(), cgiReplyBucketData.getGhId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 JSONObject jsonObject = JSON.parseObject(response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (jsonObject.getInteger("code").equals(0)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     smallPageUrlDetail = jsonObject.getObject("data", SmallPageUrlDetail.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    keyPageUrl.put(key, smallPageUrlDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     log.error("httpClientService get page url error,response:" + response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     throw new RuntimeException("httpClientService get page url error"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 复用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                CgiReplyBucketData cgiReplyBucketData1 = cgiReplyBucketData.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                CgiReplyBucketData cgiReplyBucketData1 = cgiReplyBucketDataList.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 smallPageUrlDetail.setId(cgiReplyBucketData1.getPagePathUrlId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 smallPageUrlDetail.setUrl(cgiReplyBucketData1.getMiniPagePath()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            keyPageUrl.put(key, smallPageUrlDetail); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 处理数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (CgiReplyBucketData cgiReplyBucketData : smallDataCgiReplyList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String key = cgiReplyBucketData.getGhId() + "&" + cgiReplyBucketData.getMiniVideoId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            SmallPageUrlDetail smallPageUrlDetail = keyPageUrl.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (Objects.isNull(smallPageUrlDetail)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                log.error("setSmallPageUrl get map url is null" + JSON.toJSONString(keyPageUrl)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                throw new RuntimeException("setSmallPageUrl get map url is null"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cgiReplyBucketData.setPagePathUrlId(smallPageUrlDetail.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cgiReplyBucketData.setMiniPagePath(smallPageUrlDetail.getUrl()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |