| 
														
															@@ -37,6 +37,8 @@ public class BuckStrategyV1 implements ReplyStrategyService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private static final String bucketStrategyConfig = "{\"stg0909-base\":[5,6],\"stg0909-explore1\":[7],\"stg0909-explore2\":[8,9]}"; 
														 | 
														
														 | 
														
															     private static final String bucketStrategyConfig = "{\"stg0909-base\":[5,6],\"stg0909-explore1\":[7],\"stg0909-explore2\":[8,9]}"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private static final String bucketStrategyConfigV2 = "{\"default\":{\"base\":[0,1,2,3,4],\"stg0909-base\":[5,6],\"stg0909-explore1\":[7],\"stg0909-explore2\":[8,9]},\"gh_ac43e43b253b\":{\"base\":[0,1],\"stg0909-base\":[2,3,4,5,6],\"stg0909-explore1\":[7],\"stg0909-explore2\":[8,9]}}"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * 自动回复使用小程序Id 
														 | 
														
														 | 
														
															      * 自动回复使用小程序Id 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -56,7 +58,7 @@ public class BuckStrategyV1 implements ReplyStrategyService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public ReplyBucketData getResult(BucketDataParam bucketDataParam) { 
														 | 
														
														 | 
														
															     public ReplyBucketData getResult(BucketDataParam bucketDataParam) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 0 获取策略key 
														 | 
														
														 | 
														
															         // 0 获取策略key 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        JSONObject bucketStrategyConfigJsonObject = JSON.parseObject(bucketStrategyConfig); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        JSONObject bucketStrategyConfigJsonObject = getStrategyConfig(bucketDataParam.getGhId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Set<String> keyedSet = bucketStrategyConfigJsonObject.keySet(); 
														 | 
														
														 | 
														
															         Set<String> keyedSet = bucketStrategyConfigJsonObject.keySet(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 1 处理文章--算法引擎--排序文章数据 
														 | 
														
														 | 
														
															         // 1 处理文章--算法引擎--排序文章数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //        getWenzhangData(); 
														 | 
														
														 | 
														
															 //        getWenzhangData(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -71,11 +73,32 @@ public class BuckStrategyV1 implements ReplyStrategyService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return getReplyBucketData(bucketStrategyConfigJsonObject, keyedSet, bucketDataParam.getGhId()); 
														 | 
														
														 | 
														
															         return getReplyBucketData(bucketStrategyConfigJsonObject, keyedSet, bucketDataParam.getGhId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private JSONObject getStrategyConfig(String ghId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        JSONObject allStrategyConfigs = JSON.parseObject(bucketStrategyConfigV2); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        JSONObject currentGhIdStrategyConfig = null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (allStrategyConfigs.containsKey(ghId)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            currentGhIdStrategyConfig = allStrategyConfigs.getJSONObject(ghId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else if (allStrategyConfigs.containsKey("default")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            currentGhIdStrategyConfig = allStrategyConfigs.getJSONObject("default"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            log.error("invalid strategy config: default key does not exist"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            throw new RuntimeException("Default strategy config does not exist"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        // check param 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!currentGhIdStrategyConfig.containsKey("base")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            throw new RuntimeException("Strategy config does not have manual base"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return currentGhIdStrategyConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ReplyBucketData getReplyBucketData(JSONObject bucketStrategyConfigJsonObject, Set<String> keyedSet, String ghId) { 
														 | 
														
														 | 
														
															     private ReplyBucketData getReplyBucketData(JSONObject bucketStrategyConfigJsonObject, Set<String> keyedSet, String ghId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 策略小程序数据 
														 | 
														
														 | 
														
															         // 策略小程序数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         ReplyBucketData replyBucketData = new ReplyBucketData(); 
														 | 
														
														 | 
														
															         ReplyBucketData replyBucketData = new ReplyBucketData(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<GroupData> groupDataList = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<GroupData> groupDataList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for (String key : keyedSet) { 
														 | 
														
														 | 
														
															         for (String key : keyedSet) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if ("base".equals(key)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample(); 
														 | 
														
														 | 
														
															             CgiReplyBucketDataExample cgiReplyBucketDataExample = new CgiReplyBucketDataExample(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key).andGhIdEqualTo(ghId); 
														 | 
														
														 | 
														
															             cgiReplyBucketDataExample.createCriteria().andIsDeleteEqualTo(0).andStrategyEqualTo(key).andGhIdEqualTo(ghId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             cgiReplyBucketDataExample.setOrderByClause("sort"); 
														 | 
														
														 | 
														
															             cgiReplyBucketDataExample.setOrderByClause("sort"); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -110,6 +133,10 @@ public class BuckStrategyV1 implements ReplyStrategyService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取人工实验数据 
														 | 
														
														 | 
														
															         // 获取人工实验数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<GroupData> groupDataBaseList = httpClientService.sendPenGongBaseRequest(ghId); 
														 | 
														
														 | 
														
															         List<GroupData> groupDataBaseList = httpClientService.sendPenGongBaseRequest(ghId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        int baseBucketNum = bucketStrategyConfigJsonObject.getJSONArray("base").size(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (groupDataBaseList.size() > baseBucketNum) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            groupDataBaseList = groupDataBaseList.subList(0, baseBucketNum); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (!CollectionUtils.isEmpty(groupDataBaseList)) { 
														 | 
														
														 | 
														
															         if (!CollectionUtils.isEmpty(groupDataBaseList)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             GroupData groupData = groupDataBaseList.get(0); 
														 | 
														
														 | 
														
															             GroupData groupData = groupDataBaseList.get(0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<MsgData> msgDataList = groupData.getMsgDataList(); 
														 | 
														
														 | 
														
															             List<MsgData> msgDataList = groupData.getMsgDataList(); 
														 |