From 46f6aaeebd838b309411e7d8ab3de95d15fc42af Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 17 五月 2019 16:37:10 +0800
Subject: [PATCH] add api

---
 go.sum          |   11 ++
 sdkApi.go       |   81 ++++++++++++++++
 cameraApi.go    |    1 
 deliver         |    2 
 go.mod          |    8 +
 client.go       |    8 +
 reqrepClient.go |   47 ++++-----
 entites.go      |   11 ++
 taskApi.go      |   27 +++++
 api_test.go     |   69 +++++++++++++
 10 files changed, 234 insertions(+), 31 deletions(-)

diff --git a/api_test.go b/api_test.go
index ddff79b..639a7e3 100644
--- a/api_test.go
+++ b/api_test.go
@@ -1 +1,70 @@
 package dbapi
+
+import (
+	"fmt"
+	"testing"
+)
+
+func TestGetLocalCameraTree(t *testing.T) {
+	var api AreaApi
+	body := api.GetLocalCameraTree(0, 0, "c")
+	fmt.Println(body)
+}
+
+func TestAreaAdd(t *testing.T) {
+	var api AreaApi
+	var area = Area{
+		Parentid: 0,
+		Name:     "鍝堝搱鍝�",
+	}
+
+	flag := api.AreaAdd(area)
+	fmt.Println(flag)
+}
+
+func TestAreaUpdate(t *testing.T) {
+	var api AreaApi
+	var area = Area{
+		Id:       1,
+		Name:     "鍖哄煙鏇存柊娴嬭瘯",
+		Parentid: 0,
+	}
+	flag := api.AreaUpdate(area)
+	fmt.Println(flag)
+}
+
+func TestGetCameraById(t *testing.T) {
+	var api CameraApi
+	camera, _ := api.GetCameraById("cid0")
+	fmt.Println(camera)
+}
+
+func TestMangosReqClient(t *testing.T){
+	var client ReqrepApi
+
+	client.SendRequestAndGetReply("one")
+}
+
+func TestSdkApi_FindAll(t *testing.T) {
+	var api SdkApi
+	all := api.FindAll("")
+	fmt.Println(all)
+}
+
+func TestSdkApi_GetById(t *testing.T) {
+	var api SdkApi
+	model := api.GetById("812b674b-2375-4589-919a-5c1c3278a97e")
+	fmt.Println(model)
+}
+
+func TestSdkApi_GetAllSdkIds(t *testing.T) {
+	var api SdkApi
+	sdkIds := api.GetAllSdkIds()
+	fmt.Println(sdkIds)
+}
+
+func TestTaskApi_FindAll(t *testing.T) {
+	var api TaskApi
+	taskInfos := api.FindAll()
+	fmt.Println(taskInfos)
+}
\ No newline at end of file
diff --git a/cameraApi.go b/cameraApi.go
index eacba42..03b85c6 100644
--- a/cameraApi.go
+++ b/cameraApi.go
@@ -20,6 +20,7 @@
 	var res Result
 	if err = json.Unmarshal(body, &res); err != nil {
 		fmt.Println(err)
+		return result,err
 	}
 
 	bytes, _ := json.Marshal(res.Data)
diff --git a/client.go b/client.go
index fc23c07..20bb145 100644
--- a/client.go
+++ b/client.go
@@ -11,10 +11,16 @@
 	DoDeleteRequest(url string, contentType string, body map[string]interface{}, headers map[string]string) ([]byte, error)
 }
 
+var BASIC_URL            = "http://127.0.0.1:8001"
+
 const (
-	BASIC_URL            = "http://192.168.1.115:8000"
 	DATA_URL_PREFIX      = "/data/api-v"
 	CONTENT_TYPE_FORM    = "application/x-www-form-urlencoded"
 	CONTENT_TYPE_MULFORM = "multipart/form-data"
 	CONTENT_TYPE_JSON    = "application/json"
 )
+
+//鍒濆鍖杁bserver鐨勫湴鍧�鍜岀鍙�
+func Init(ip string,port int){
+	BASIC_URL = "http://"+ ip + ":" + string(port)
+}
\ No newline at end of file
diff --git a/deliver b/deliver
index aaae991..5ff1f32 160000
--- a/deliver
+++ b/deliver
@@ -1 +1 @@
-Subproject commit aaae9917c3df122e2bbcf591417c1b58021d79fc
+Subproject commit 5ff1f32410e0697e581f6c389c8c22c5abd474c0
diff --git a/entites.go b/entites.go
index 4bddb2d..9724f6a 100644
--- a/entites.go
+++ b/entites.go
@@ -81,15 +81,24 @@
 type CameraTask struct {
 	Cameraid   string `json:"cameraid"` //鎽勫儚鏈篿d 鏉ヨ嚜浜庢憚鍍忔満琛�
 	Taskid     string `json:"taskid"`   //浠诲姟id  鏉ヨ嚜浜庝换鍔¤〃
-	Sdkid      string `json:"sdkId"`    //绠楁硶id 鏉ヨ嚜涓庣畻娉曡〃
+
 	DelFlag    bool
 	UpdateFlag bool   // 绠楁硶鍚嶇О
 	SdkArgs    string `json:"sdkArgs"` // 绠楁硶鍙傛暟
 	Enable     int    //榛樿鍚敤
 }
 
+type TasksRes struct {
+	Task      Task    `json:"task"` //浠诲姟缁撴瀯浣�
+	Sdks      []Sdk   `json:"sdks"` //浠诲姟瀵瑰簲鐨勭畻娉曚俊鎭拰鍙傛暟
+	CtlTime   TimeCtl `json:"ctlTime"`
+	LinkType  string         `json:"linkType"`
+	SdkFrames Frame   `json:"sdkFrames"` //鐢绘鐨勭粨鏋�
+}
+
 //浠诲姟鍜岀畻娉曞叧鑱�
 type TaskSdk struct {
+	Id 	   string
 	Taskid string
 	Sdkid  string //鏉ヨ嚜浜庣畻娉曡〃
 	Sort   int    `json:"sort"` //鎺掑簭
diff --git a/go.mod b/go.mod
index 6134be4..d3e716c 100644
--- a/go.mod
+++ b/go.mod
@@ -2,4 +2,10 @@
 
 go 1.12
 
-require nanomsg.org/go-mangos v1.4.0
+require (
+	github.com/Microsoft/go-winio v0.4.12 // indirect
+	github.com/gogo/protobuf v1.2.1
+	github.com/gorilla/websocket v1.4.0 // indirect
+	golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 // indirect
+	nanomsg.org/go-mangos v1.4.0
+)
diff --git a/go.sum b/go.sum
index 7d77097..4012cb0 100644
--- a/go.sum
+++ b/go.sum
@@ -1,2 +1,13 @@
+github.com/Microsoft/go-winio v0.4.12 h1:xAfWHN1IrQ0NJ9TBC0KBZoqLjzDTr1ML+4MywiUOryc=
+github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
+github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
+github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
+github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
+github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
+github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 h1:cGjJzUd8RgBw428LXP65YXni0aiGNA4Bl+ls8SmLOm8=
+golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 nanomsg.org/go-mangos v1.4.0 h1:pVRLnzXePdSbhWlWdSncYszTagERhMG5zK/vXYmbEdM=
 nanomsg.org/go-mangos v1.4.0/go.mod h1:MOor8xUIgwsRMPpLr9xQxe7bT7rciibScOqVyztNxHQ=
diff --git a/reqrepClient.go b/reqrepClient.go
index 1a32afc..46abcdc 100644
--- a/reqrepClient.go
+++ b/reqrepClient.go
@@ -1,12 +1,10 @@
 package dbapi
 
 import (
+	"dbapi/deliver"
+	"dbapi/protomsg"
+	"encoding/json"
 	"fmt"
-	"os"
-	"nanomsg.org/go-mangos"
-	"nanomsg.org/go-mangos/protocol/req"
-	"nanomsg.org/go-mangos/transport/ipc"
-	"nanomsg.org/go-mangos/transport/tcp"
 )
 
 type ReqrepApi struct {
@@ -17,27 +15,22 @@
 	ReqRep_URL = "tcp://127.0.0.1:8002"
 )
 
-func (api ReqrepApi)SendRequest(reqStr string) string {
-	var sock mangos.Socket
-	var err error
-	var msg []byte
+func (api ReqrepApi)SendRequestAndGetReply(reqStr string) string {
+	sender := deliver.NewConsumer(deliver.Mode(deliver.ReqRep), ReqRep_URL)
+	var sendMsg = protomsg.SdkMessage{}
+	sendMsg.Cid = "kkkk"
+	byteArr, _ := json.Marshal(sendMsg)
+	err := sender.Send(byteArr)
+	if err !=nil {
+		fmt.Println(err)
+	}
+	fmt.Println("sendedMsg")
 
-	if sock, err = req.NewSocket(); err !=nil {
-		fmt.Println("can't get new req socket!")
-		os.Exit(1)
-	}
-	sock.AddTransport(ipc.NewTransport())
-	sock.AddTransport(tcp.NewTransport())
-	if err = sock.Dial(ReqRep_URL);err !=nil {
-		fmt.Println("can't dial on req socket!!")
-		os.Exit(1)
-	}
-	if err =sock.Send([]byte(reqStr));err !=nil {
-		fmt.Println("can't send msg")
-	}
-	if msg,err = sock.Recv();err !=nil {
-		fmt.Println("can't get msg from mangos reqrep server")
-	}
-	defer sock.Close()
-	return string(msg)
+	//recvMsg, err := sender.Recv()
+	//if err ==nil {
+	//	fmt.Println(string(recvMsg))
+	//}
+
+	fmt.Println("SendRequest")
+	return ""
 }
\ No newline at end of file
diff --git a/sdkApi.go b/sdkApi.go
index ddff79b..fe9aa77 100644
--- a/sdkApi.go
+++ b/sdkApi.go
@@ -1 +1,82 @@
 package dbapi
+
+import (
+	"encoding/json"
+	"fmt"
+)
+
+type SdkApi struct{
+}
+
+//淇濆瓨绠楁硶锛屾柊澧�(绠楁硶id涓虹┖)锛屾洿鏂帮紙绠楁硶id涓嶄负绌猴級
+func (api SdkApi)Save(sdk Sdk)bool {
+	flag := false
+	url := BASIC_URL + DATA_URL_PREFIX + "/sdk/save"
+	client := NewClient()
+	paramBody := Struct2Map(sdk)
+	respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, paramBody, nil, nil)
+	if err != nil {
+		return flag
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		fmt.Println(err)
+		return flag
+	}
+	flag = res.Success
+	return flag
+}
+
+//鏌ユ壘鎵�鏈夌畻娉�
+func (api SdkApi) FindAll(sdkName string)[]Sdk{
+	var sdkArr []Sdk
+	url := BASIC_URL + DATA_URL_PREFIX + "/sdk/findAllSdk"
+	client := NewClient()
+	paramMap := make(map[string]string, 0)
+	paramMap["sdkName"] = sdkName
+	respBody, err := client.DoGetRequest(url, paramMap, nil)
+	if err !=nil {
+		return sdkArr
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		fmt.Println(err)
+		return sdkArr
+	}
+	bytes, _ := json.Marshal(res.Data)
+	err = json.Unmarshal(bytes, &sdkArr)
+	return sdkArr
+}
+
+//鏌ユ壘绠楁硶id鐨剆lice
+func (api SdkApi) GetAllSdkIds() (sdkIds []string){
+	sdkArr := api.FindAll("")
+	if len(sdkArr) == 0 {
+		return nil
+	}
+	for _,sdk := range sdkArr{
+		sdkIds = append(sdkIds, sdk.Uuid)
+	}
+	return sdkIds
+}
+
+//閫氳繃id鑾峰彇绠楁硶淇℃伅
+func (api SdkApi) GetById(id string) Sdk{
+	var sdk Sdk
+	url := BASIC_URL + 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
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		fmt.Println(err)
+		return sdk
+	}
+	bytes, _ := json.Marshal(res.Data)
+	err = json.Unmarshal(bytes, &sdk)
+	return sdk
+}
\ No newline at end of file
diff --git a/taskApi.go b/taskApi.go
index 7cf5ce3..41de9a1 100644
--- a/taskApi.go
+++ b/taskApi.go
@@ -1,4 +1,31 @@
 package dbapi
 
+import (
+	"encoding/json"
+	"fmt"
+)
+
 type TaskApi struct {}
 
+//鑾峰彇鎵�鏈変换鍔′俊鎭�
+func (api TaskApi) FindAll() (taskInfos []TasksRes) {
+	url := BASIC_URL + DATA_URL_PREFIX + "/task/findAll"
+	client := NewClient()
+
+	respBody, err := client.DoGetRequest(url, nil, nil)
+	if err !=nil {
+		return taskInfos
+	}
+	var res Result
+	if err = json.Unmarshal(respBody, &res); err != nil {
+		fmt.Println(err)
+		return taskInfos
+	}
+	bytes, _ := json.Marshal(res.Data)
+	err = json.Unmarshal(bytes, &taskInfos)
+	return taskInfos
+}
+
+func (api TaskApi) FindAllTaskAndSdkInfo(){
+
+}
\ No newline at end of file

--
Gitblit v1.8.0