From 683edeb307aee24a03c4bfe8d010fd544e5e8d8d Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期五, 18 十二月 2020 16:46:18 +0800
Subject: [PATCH] add FindRelationByGroup

---
 sdkApi.go |  174 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 150 insertions(+), 24 deletions(-)

diff --git a/sdkApi.go b/sdkApi.go
index b565131..585f77c 100644
--- a/sdkApi.go
+++ b/sdkApi.go
@@ -3,35 +3,48 @@
 import (
 	"basic.com/pubsub/protomsg.git"
 	"encoding/json"
-	"fmt"
+	"strconv"
 )
 
 type SdkApi struct{
+	Ip string
+	Port int
+}
+
+func (api SdkApi) getBasicUrl() string {
+	if api.Ip == "" {
+		return BASIC_URL
+	}
+	if api.Ip == "" {
+		api.Ip = DEFAULT_IP
+	}
+	if api.Port == 0 {
+		api.Port = DEFAULT_PORT
+	}
+	return "http://"+api.Ip+":"+strconv.Itoa(api.Port)
 }
 
 //淇濆瓨绠楁硶锛屾柊澧�(绠楁硶id涓虹┖)锛屾洿鏂帮紙绠楁硶id涓嶄负绌猴級
-func (api SdkApi)Save(sdk protomsg.Sdk)bool {
+func (api SdkApi)Register(paramBody map[string]interface{}) (bool,interface{}) {
 	flag := false
-	url := BASIC_URL + DATA_URL_PREFIX + "/sdk/save"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/register"
 	client := NewClient()
-	paramBody := Struct2Map(sdk)
-	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
 	if err != nil {
-		return flag
+		return flag,nil
 	}
 	var res Result
 	if err = json.Unmarshal(respBody, &res); err != nil {
-		fmt.Println(err)
-		return flag
+		logPrint(err)
+		return flag,nil
 	}
-	flag = res.Success
-	return flag
+	return res.Success,res.Data
 }
 
 //鏌ユ壘鎵�鏈夌畻娉�
 func (api SdkApi) FindAll(sdkName string)[]protomsg.Sdk{
 	var sdkArr []protomsg.Sdk
-	url := BASIC_URL + DATA_URL_PREFIX + "/sdk/findAllSdk"
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/findAllSdk"
 	client := NewClient()
 	paramMap := make(map[string]string, 0)
 	paramMap["sdkName"] = sdkName
@@ -41,7 +54,7 @@
 	}
 	var res Result
 	if err = json.Unmarshal(respBody, &res); err != nil {
-		fmt.Println(err)
+		logPrint(err)
 		return sdkArr
 	}
 	bytes, _ := json.Marshal(res.Data)
@@ -49,35 +62,148 @@
 	return sdkArr
 }
 
-//鏌ユ壘绠楁硶id鐨剆lice
-func (api SdkApi) GetAllSdkIds() (sdkIds []string){
+func (api SdkApi) FindAllSdkRun()(sdkRuns []protomsg.SdkRun){
 	sdkArr := api.FindAll("")
 	if len(sdkArr) == 0 {
 		return nil
 	}
+	idMap :=make(map[string]string,0)
 	for _,sdk := range sdkArr{
-		sdkIds = append(sdkIds, sdk.Id)
+		if sdk.IpcId !=""{
+			if _,ok :=idMap[sdk.IpcId];!ok{
+				idMap[sdk.IpcId] = sdk.IpcId
+				sdkRuns = append(sdkRuns,protomsg.SdkRun{
+					IpcId:sdk.IpcId,
+					SdkType:sdk.SdkType,
+				})
+			}
+		}
 	}
-	return sdkIds
+	return sdkRuns
+}
+
+//鏌ユ壘绠楁硶id鐨剆lice
+func (api SdkApi) GetAllSdkIds() (ipcIds []string){
+	sdkArr := api.FindAll("")
+	if len(sdkArr) == 0 {
+		return nil
+	}
+	idMap :=make(map[string]string,0)
+	for _,sdk := range sdkArr{
+		if sdk.IpcId !=""{
+			if _,ok :=idMap[sdk.IpcId];!ok{
+				idMap[sdk.IpcId] = sdk.IpcId
+				ipcIds = append(ipcIds,sdk.IpcId)
+			}
+		}
+	}
+	return ipcIds
 }
 
 //閫氳繃id鑾峰彇绠楁硶淇℃伅
-func (api SdkApi) GetById(id string) protomsg.Sdk{
-	var sdk protomsg.Sdk
-	url := BASIC_URL + DATA_URL_PREFIX + "/sdk/getById"
+func (api SdkApi) GetById(id string) (bool,interface{}){
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/getById"
 	client := NewClient()
 	paramMap := make(map[string]string)
 	paramMap["id"] = id
 	respBody, err := client.DoGetRequest(url, paramMap, nil)
 	if err !=nil {
-		return sdk
+		return false,nil
 	}
 	var res Result
 	if err = json.Unmarshal(respBody, &res); err != nil {
-		fmt.Println(err)
-		return sdk
+		logPrint(err)
+		return false,nil
+	}
+	return res.Success,res.Data
+}
+
+func (api SdkApi) FindByTaskId(taskId string) (flag bool,sdks []protomsg.Sdk) {
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/findByTaskId"
+	client := NewClient()
+	paramMap := make(map[string]string)
+	paramMap["taskId"] = taskId
+	respBody, err := client.DoGetRequest(url, paramMap, nil)
+	if err !=nil {
+		return false,nil
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		logPrint(err)
+		return false,nil
 	}
 	bytes, _ := json.Marshal(res.Data)
-	err = json.Unmarshal(bytes, &sdk)
-	return sdk
+	err = json.Unmarshal(bytes, &sdks)
+	return true,sdks
+}
+
+func (api SdkApi) GetSdkArgs(sdkId string, scope string) (b bool,args []protomsg.SdkArg) {
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdkArg/getSdkArgs"
+	client := NewClient()
+	paramMap := make(map[string]string)
+	paramMap["sdkId"] = sdkId
+	paramMap["scope"] = scope
+	respBody, err := client.DoGetRequest(url, paramMap, nil)
+	if err !=nil {
+		return false,nil
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		logPrint(err)
+		return false,nil
+	}
+	bytes, _ := json.Marshal(res.Data)
+	err = json.Unmarshal(bytes, &args)
+	return true,args
+}
+
+func (api SdkApi) GetAllSdkChanSet() (b bool, list []protomsg.SdkChanSet) {
+    url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/getAllSdkChanSet"
+    client := NewClient()
+    respBody,err := client.DoGetRequest(url, nil, nil)
+    if err !=nil {
+        return false,nil
+    }
+    var res Result
+    if err = json.Unmarshal(respBody, &res);err !=nil {
+        return false,nil
+    }
+    bytes,_ := json.Marshal(res.Data)
+    err = json.Unmarshal(bytes, &list)
+    if err !=nil {
+        return false, nil
+    }
+    return true, list
+}
+
+func (api SdkApi) UpdateSdkChanSet(paramBody map[string]interface{}) bool {
+    url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/updateSdkChanSet"
+    client := NewClient()
+    respBody,err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
+    if err !=nil {
+        return false
+    }
+    var res Result
+    if err = json.Unmarshal(respBody, &res);err !=nil {
+        return false
+    }
+    return res.Success
+}
+
+func (api SdkApi) Delete(sdkId string) (bool,interface{}) {
+	url := api.getBasicUrl() + DATA_URL_PREFIX + "/sdk/delete"
+	client := NewClient()
+	paramBody := map[string]interface{}{
+		"sdkId": sdkId,
+	}
+	body, err := client.DoPostRequest(url,CONTENT_TYPE_JSON,paramBody,nil,nil)
+	if err != nil {
+		return false,nil
+	}
+
+	var res Result
+	if err = json.Unmarshal(body, &res); err != nil {
+		return false,nil
+	}
+	return res.Success,res.Data
 }
\ No newline at end of file

--
Gitblit v1.8.0