FanXiaoyu пре 6 година
родитељ
комит
bf99de53d6

+ 28 - 5
src/main/java/com/sagacloud/cache/ProPasCache.java

@@ -19,21 +19,29 @@ public class ProPasCache {
     public static  Hashtable<String,String> nameMap = new Hashtable<>();
     //存储项目id列表
     public static List<String> pjList = new ArrayList<>();
+    //厂商id->名称
+    public static Hashtable<String,String> venderNameMap = new Hashtable<>();
+    //厂商id->类型
+    public static Hashtable<String,Integer> venderTypeMap = new Hashtable<>();
 
     private static final Logger log = LoggerFactory.getLogger(ProPasCache.class);
 
-    public static String getSecret(String key){
+    public static String getPjSecret(String key){
         if(proPass.get(key) == null){
             return  null;
         }
         return new String(proPass.get(key));
     }
 
-    public static String getName(String pjId){
+    public static String getPjName(String pjId){
         return nameMap.get(pjId);
     }
 
-    public static void synCache(String restr){
+    public static String getVenderName(String venderId){ return venderNameMap.get(venderId); }
+
+    public static Integer getVenderType(String venderId){ return venderTypeMap.get(venderId); }
+
+    public static void syncProject(String restr){
         try {
             proPass.clear();
             nameMap.clear();
@@ -53,9 +61,24 @@ public class ProPasCache {
                 }
                 nameMap.put(proNode.getString("id"),pjName);
             }
-            log.info("Succeeded to syn proPasCache.");
+            log.info("Succeeded to sync project.");
+        }catch (Exception e){
+            log.error("Failed to sync project with "+e.getMessage());
+        }
+    }
+
+    public static void syncVender(String restr){
+        try{
+            JSONObject json = new JSONObject(restr);
+            JSONArray arr = json.getJSONArray("content");
+            for(int i = 0; i < arr.length(); ++i){
+                JSONObject vender = arr.getJSONObject(i);
+                venderNameMap.put(vender.getString("venderId"),vender.getString("name"));
+                venderTypeMap.put(vender.getString("venderId"),vender.getInt("venderType"));
+            }
+            log.info("Succeeded to sync vender.");
         }catch (Exception e){
-            log.error("Failed to syn proPasCache with "+e.getMessage());
+            log.error("Failed to sync vender with "+e.getMessage());
         }
     }
 }

+ 6 - 2
src/main/java/com/sagacloud/route/InitEnvRoute.java

@@ -2,7 +2,6 @@ package com.sagacloud.route;
 
 import com.sagacloud.cache.ProPasCache;
 import com.sagacloud.utils.PropUtil;
-import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 
 /**
@@ -10,6 +9,7 @@ import org.apache.camel.builder.RouteBuilder;
  */
 public class InitEnvRoute extends RouteBuilder {
 	public static String dataPlatform = PropUtil.getProperty("dataPlatform.baseUrl");
+	public static String venders = PropUtil.getProperty("venders.baseUrl");
     @Override
     public void configure() throws Exception {
 
@@ -19,7 +19,11 @@ public class InitEnvRoute extends RouteBuilder {
         from("direct:syn")
                 .to(dataPlatform + "/mng/project/query?bridgeEndpoint=true&secret=A123456")
                 .process(exchange -> {
-                    ProPasCache.synCache(exchange.getIn().getBody(String.class));
+                    ProPasCache.syncProject(exchange.getIn().getBody(String.class));
+                })
+                .to(venders+"/auxiliary/vender/query")
+                .process(exchange -> {
+                    ProPasCache.syncVender(exchange.getIn().getBody(String.class));
                 });
 
         rest("/syn")

+ 57 - 0
src/main/java/com/sagacloud/utils/VendersUtil.java

@@ -0,0 +1,57 @@
+package com.sagacloud.utils;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+import java.util.List;
+
+/**
+ * Created by wo on 5/2/18.
+ */
+public class VendersUtil {
+
+    public static JSONObject successJsonMsg(String msg) {
+        JSONObject jsonObj = new JSONObject();
+        jsonObj.put("result", "success");
+        jsonObj.put("resultMsg", msg);
+        return jsonObj;
+    }
+
+    public static JSONObject successJsonMsg(String msg, Object pojo) throws JsonProcessingException {
+        JSONObject obj = new JSONObject();
+        if(pojo != null){
+            ObjectMapper mapper = new ObjectMapper();
+            obj = new JSONObject(mapper.writeValueAsString(pojo));
+        }
+        JSONObject jsonObj = new JSONObject();
+        jsonObj.put("result", "success");
+        jsonObj.put("resultMsg", msg);
+        jsonObj.put("content",obj);
+        return jsonObj;
+    }
+
+    public static JSONObject successJsonMsg(String msg, List list) {
+        JSONObject jsonObj = new JSONObject();
+        jsonObj.put("result", "success");
+        jsonObj.put("count",list.size());
+        jsonObj.put("content",new JSONArray(list));
+        jsonObj.put("resultMsg", msg);
+        return jsonObj;
+    }
+    public static JSONObject successJsonMsg(String msg, JSONArray arr){
+        JSONObject jsonObj = new JSONObject();
+        jsonObj.put("result", "success");
+        jsonObj.put("count",arr.length());
+        jsonObj.put("content",arr);
+        jsonObj.put("resultMsg", msg);
+        return jsonObj;
+    }
+    public static JSONObject errorJsonMsg(String msg) {
+        JSONObject jsonObj = new JSONObject();
+        jsonObj.put("result", "failure");
+        jsonObj.put("resultMsg", msg);
+        return jsonObj;
+    }
+}

+ 4 - 4
src/main/resources/documentation.md

@@ -16,8 +16,8 @@ post体:
         "content":[
             {
                 "propertyId":"",                // 资产id
-                "localName":"",                 // 本地名称
-                "localId":"",                   // 本地编码
+                "EquipLocalName":"",            // 本地名称
+                "EquipLocalId":"",              // 本地编码
                 "brand":"",                     // 品牌
                 "product":"",                   // 产品名
                 "specification":"",             // 型号
@@ -46,8 +46,8 @@ post体:
         "content":[
             {
                 "propertyId":"",                // 资产id
-                "localName":"",                 // 本地名称
-                "localId":"",                   // 本地编码
+                "EquipLocalName":"",            // 本地名称
+                "EquipLocalId":"",              // 本地编码
                 "brand":"",                     // 品牌
                 "product":"",                   // 产品名
                 "specification":"",             // 型号

+ 2 - 1
src/main/resources/test/config.properties

@@ -1,3 +1,4 @@
 dataPlatform.baseUrl=http://192.168.20.225:8080/data-platform-3
-venders.baseUrl=http://192.168.20.225:8080/venders
+#venders.baseUrl=http://192.168.20.225:8080/venders
+venders.baseUrl=http://101.201.234.108:28888/venders