| 
					
				 | 
			
			
				@ -29,8 +29,7 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static Logger logger = LoggerFactory.getLogger(ElasticSearchDataProcessService.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String dataSource_hbase = "hbase"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String dataSource_mysql = "mysql"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String action_put = "Put";//添加和修改单个字段值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String action_del = "DeleteColumn";//删除单个字段值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String action_put = "Put";                //添加和修改单个字段值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String action_delFamily = "DeleteFamily";//删除整行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String dataSource_k = "dataSource"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -85,6 +84,8 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //通过表找到 对应的数据集 保存的索引和type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //TODO 可以维护到数据字典 - 保存到redis 减少去数据库里面查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //如果是子集的数据 hbase 过来要指定父级数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String rowKey = dataMap.get(rowKey_k).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String action = dataMap.get(action_k).toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dataMap.remove(table_k); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -104,39 +105,12 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(cubeMappingModels != null && cubeMappingModels.size() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        for(CubeMappingModel cubeMappingModel :cubeMappingModels){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String cloumnCode = cubeMappingModel.getDimensionCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            DictFunc dictFunc = new DictFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            //字典扩展 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            if(StringUtils.isNotEmpty(cubeMappingModel.getDict()) && StringUtils.isEmpty(cubeMappingModel.getAlgorithm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                String value = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                String param[] = {cubeMappingModel.getDict(),keyValue}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                                value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                value =  key + "测试值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                source.put(cloumnCode,keyValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                source.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            }else if(StringUtils.isNotEmpty(cubeMappingModel.getAlgorithm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                //计算后 又经过字典 如:年龄段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(cubeMappingModel.getAlgorithm().equals("AgeGroupFunc") && StringUtils.isNotEmpty(cubeMappingModel.getParm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String value = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    AgeGroupFunc ageGroupFunc = new AgeGroupFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String ageGroup = ageGroupFunc.execute(Integer.valueOf(keyValue)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String param[] = {cubeMappingModel.getDict(),ageGroup}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                                    value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    value = "年龄段=" + ageGroup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    if(StringUtils.isNotEmpty(cubeMappingModel.getDict())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        source.put(cloumnCode,ageGroup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        source.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                //其他具体维度 对应具体算法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(StringUtils.isNotEmpty(cubeMappingModel.getDataType())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String dataType = cubeMappingModel.getDataType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    Object value = dataConver(dataType,keyValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(cloumnCode,value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(cloumnCode,dataMap.get(key)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String dataType = cubeMappingModel.getDataType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String dict = cubeMappingModel.getDict(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String algorithm = cubeMappingModel.getAlgorithm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            String algorithmParm = cubeMappingModel.getParm(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            Map<String, Object> esDataMap = dataToMap(keyValue,cloumnCode,dataType ,dict,algorithm,algorithmParm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            source.putAll(esDataMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    // 是否是 子集属性 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -150,9 +124,41 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(childSaveType == 1 ){//对象方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    Map<String, Object> objChildMap  = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    objChildMap.put(cloumnCode,keyValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    //字典扩展 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    if(StringUtils.isNotEmpty(cubeMemberMappingModel.getDict()) && StringUtils.isEmpty(cubeMemberMappingModel.getAlgorithm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        String value = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        String param[] = {cubeMemberMappingModel.getDict(),keyValue}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                                      value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        value =  key + "测试值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        source.put(cloumnCode,keyValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        objChildMap.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    }else if(StringUtils.isNotEmpty(cubeMemberMappingModel.getAlgorithm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        if(cubeMemberMappingModel.getAlgorithm().equals("DivisionFunc") && StringUtils.isNotEmpty(cubeMemberMappingModel.getParm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            if(cubeMemberMappingModel.getParm().equals(key)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                DivisionFunc divisionFunc = new DivisionFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                String level = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                String divisionVal = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                if(cloumnCode.toLowerCase().equals("town")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    level = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    divisionVal = "信州区"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                }else if(cloumnCode.toLowerCase().equals("city")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    level = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    divisionVal = "上饶市"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                }else if(cloumnCode.toLowerCase().equals("province")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    level = "3"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                    divisionVal = "江西省"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                String divisionParam[] = {dataMap.get(key).toString(),level}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                                                divisionVal = divisionFunc.execute(divisionParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                objChildMap.put(cloumnCode,divisionVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        //其他算法 -- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(parentCode,objChildMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(childSaveType == 2 ){//nested 方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    saveElasticSearchData(index, type,rowKey,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                }else if(childSaveType == 2 ){//nested 方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    List<Map<String,Object>> nestedList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    //查出历史数据 然后组合保存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String field = parentCode + "." + subRowKey_k; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -183,32 +189,19 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(parentCode,nestedList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    saveElasticSearchData(index, type,rowKey,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                //字典扩展 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(StringUtils.isNotEmpty(cubeMemberMappingModel.getDict())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                if(StringUtils.isNotEmpty(cubeMemberMappingModel.getDict()) && StringUtils.isEmpty(cubeMemberMappingModel.getAlgorithm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String value = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    DictFunc dictFunc = new DictFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String param[] = {cubeMemberMappingModel.getDict(),cloumnCode}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                                    value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    value =  key + "测试值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    String param[] = {cubeMemberMappingModel.getDict(),keyValue}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                                      value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    value =  cloumnCode + "测试值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(cloumnCode,keyValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    source.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                }else if(StringUtils.isNotEmpty(cubeMemberMappingModel.getAlgorithm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    if(cubeMemberMappingModel.getAlgorithm().equals("DivisionFunc") && StringUtils.isNotEmpty(cubeMemberMappingModel.getParm())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        if(cubeMemberMappingModel.getParm().equals(key)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            DivisionFunc divisionFunc = new DivisionFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String townParam[] = {dataMap.get(key).toString(),"1"}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String townVal = divisionFunc.execute(townParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String cityParam[] = {dataMap.get(key).toString(),"2"}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String cityVal = divisionFunc.execute(cityParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String provinceParam[] = {dataMap.get(key).toString(),"3"}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String provinceVal = divisionFunc.execute(provinceParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            source.put("",townVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            source.put("",cityVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            source.put("",provinceVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    if(StringUtils.isNotEmpty(cubeMemberMappingModel.getDataType())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                        String dataType = cubeMemberMappingModel.getDataType(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -219,17 +212,11 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            saveElasticSearchData(index, type,rowKey,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                elasticSearchUtil.update(index, type,rowKey, source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if (action.contains(action_del)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                for(String key : dataMap.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dataMap.put(key,""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //保存数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               elasticSearchUtil.update(index, type, rowKey,dataMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else if(action.contains(action_delFamily)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                elasticSearchUtil.delete(index,type,rowKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -244,6 +231,83 @@ public class ElasticSearchDataProcessService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> dataToMap(String sourceValue,String cloumnCode,String dataType ,String dict,String algorithm,String algorithmParm ){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> source  = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        DictFunc dictFunc = new DictFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //字典扩展 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotEmpty(dict) && StringUtils.isEmpty(algorithm)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String value = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String param[] = {dict,sourceValue}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//          value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            value =  cloumnCode + "测试值"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            source.put(cloumnCode,sourceValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            source.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(StringUtils.isNotEmpty(algorithm)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //计算后 又经过字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 如:年龄段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(algorithm.equals("AgeGroupFunc") && StringUtils.isNotEmpty(algorithmParm)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String value = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                AgeGroupFunc ageGroupFunc = new AgeGroupFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String ageGroup = ageGroupFunc.execute(Integer.valueOf(sourceValue)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String param[] = {dict,ageGroup}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//              value = dictFunc.execute(param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                value = "年龄段=" + ageGroup; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(StringUtils.isNotEmpty(dict)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    source.put(cloumnCode,ageGroup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    source.put(cloumnCode + "Name",value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //区域算法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(algorithm.equals("DivisionFunc") && StringUtils.isNotEmpty(algorithmParm)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(algorithmParm.equals(cloumnCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    DivisionFunc divisionFunc = new DivisionFunc(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String level = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String divisionVal = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(cloumnCode.toLowerCase().equals("town")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        level = "1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        divisionVal = "信州区"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else if(cloumnCode.toLowerCase().equals("city")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        level = "2"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        divisionVal = "上饶市"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else if(cloumnCode.toLowerCase().equals("province")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        level = "3"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        divisionVal = "江西省"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String divisionParam[] = {sourceValue,level}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//                  divisionVal = divisionFunc.execute(divisionParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    source.put(cloumnCode,divisionVal); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //其他算法 -- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotEmpty(dataType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Object value = dataConver(dataType,sourceValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                source.put(cloumnCode,value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                source.put(cloumnCode,sourceValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return  source; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 添加修改 数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param rowKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param source 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws ParseException 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void saveElasticSearchData(String index,String  type,String rowKey,Map<String, Object> source) throws ParseException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> data = elasticSearchUtil.findById(index, type, rowKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(data != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            elasticSearchUtil.update(index, type,rowKey,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            elasticSearchUtil.index(index, type,source); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param dataMap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 |