| 
					
				 | 
			
			
				@@ -1,5 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.skyversation.poiaddr.util.dms; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.skyversation.poiaddr.addquery.Constant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.skyversation.poiaddr.util.RequestUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.json.simple.JSONObject; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,10 +16,9 @@ import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class DmsTools { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static String DmsToken; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //  登录操作,请求token 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static String getDmsToken() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        JSONObject resultObject = RequestUtils.requestPost("http://121.43.55.7:2101/proxy_oauth/user/login?userName=user001&password=1234567890&clientId=2", null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        JSONObject resultObject = RequestUtils.requestPost(Constant.Oauth_login_URL, null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (resultObject != null && resultObject.containsKey("message") && resultObject.get("message") != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DmsToken = resultObject.get("message").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -37,7 +37,7 @@ public class DmsTools { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         formDatas.put("states", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         formDatas.put("pageSize", "9999"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         formDatas.put("page", "0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return RequestUtils.requestPost("http://121.43.55.7:2101/proxy_dms/content/selectContentList", headers, formDatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return RequestUtils.requestPost(Constant.DMS_selectContentList_URL, headers, formDatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static JSONObject addContent(org.json.JSONObject formDatas) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -47,7 +47,7 @@ public class DmsTools { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers.put("Token", getDmsToken()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return RequestUtils.requestPost2("http://121.43.55.7:2101/proxy_dms/content/addContent", headers, formDatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return RequestUtils.requestPost2(Constant.DMS_addContent_URL, headers, formDatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public static JSONObject updateContent(org.json.JSONObject formDatas) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,94 +57,6 @@ public class DmsTools { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             headers.put("Token", getDmsToken()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return RequestUtils.requestPost2("http://121.43.55.7:2101/proxy_dms/content/updateContent", headers, formDatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public static void main(String[] args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      解析geojson文件并将学校名称和招生区域保存为一个Map<String(学校名称),String(招生区域geojson)> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      是否检查数据(true:不更新DMS只检查文件数据,false:数据正确的前提下执行DMS更新操作) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Boolean ifDatas = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, org.json.JSONObject> fileDatas = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String filePath = "C:\\Users\\Liumouren\\Desktop\\临时文件\\元以科技\\青浦\\教育局\\geojsonUpdate\\幼儿园更新.json"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            StringBuilder stringBuilder = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String line; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            while ((line = reader.readLine()) != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stringBuilder.append(line); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String jsonString = stringBuilder.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            org.json.JSONObject jsonObject1 = new org.json.JSONObject(jsonString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONArray features = jsonObject1.getJSONArray("features"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            System.out.println(features); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < features.length(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (features.getJSONObject(i).getJSONObject("properties").has("name") && features.getJSONObject(i).getJSONObject("geometry").getJSONArray("coordinates").length() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String schoolName = features.getJSONObject(i).getJSONObject("properties").getString("name"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    features.getJSONObject(i).remove("properties"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    fileDatas.put(schoolName, features.getJSONObject(i)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } catch (IOException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      查询columnId为1477的所有数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        JSONObject dmsDatas1 = selectDms("1477"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      遍历数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        System.out.println(dmsDatas1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        List<String> hasName = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<String, org.json.JSONObject> newSchoolGeojson = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ("200".equals(dmsDatas1.get("code").toString())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//          请求成功,遍历数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            org.json.JSONObject dmsDataContents = new org.json.JSONObject(dmsDatas1.get("content").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            JSONArray dmsDataList = dmsDataContents.getJSONArray("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (int i = 0; i < dmsDataList.length(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                org.json.JSONObject item = dmsDataList.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (fileDatas.containsKey(item.getString("title"))) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                  是否名字能匹配上,能的话记录一下id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    hasName.add(item.getString("title")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    String id = item.getString("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (ifDatas) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        newSchoolGeojson.put(item.getString("title"), fileDatas.get(item.getString("title"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        newSchoolGeojson.put(item.getString("title") + "_" + id, fileDatas.get(item.getString("title"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (item.has("c_geojson") && item.getString("c_geojson").length() > 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        System.out.println("替换geojson的学校名称:" + item.getString("title")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        System.out.println("新增geojson的学校名称:" + item.getString("title")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(ifDatas){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            System.out.println("解析到的文件数据:" + fileDatas.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            System.out.println(newSchoolGeojson); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (String schoolName : fileDatas.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!newSchoolGeojson.containsKey(schoolName)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    System.err.println("DMS中不存在学校:" + schoolName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      准备更新数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      首先得到关键数据(id\columnId\modelId) 1542\1445 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            org.json.JSONObject params = new org.json.JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            params.put("columnId", "1542"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            params.put("modelId", "1445"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for (String schoolNameAndId : newSchoolGeojson.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String schoolName = schoolNameAndId.split("_")[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String id = schoolNameAndId.split("_")[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                org.json.JSONObject paramsContent = new org.json.JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                paramsContent.put("id", id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                org.json.JSONObject cGeojson = new org.json.JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cGeojson.put("type", "FeatureCollection"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                JSONArray coordinates = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                coordinates.put(newSchoolGeojson.get(schoolNameAndId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                cGeojson.put("features", coordinates); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                paramsContent.put("c_geojson", cGeojson.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                params.put("content", paramsContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                System.out.println("更新" + schoolName + updateContent(params)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//      更新结束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return RequestUtils.requestPost2(Constant.DMS_updateContent_URL, headers, formDatas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |