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