sqlite的api,便于内部使用
liuxiaolong
2019-05-22 5133036e9f297019771d4aeac7f961cbb57406ec
add api
8个文件已修改
186 ■■■■ 已修改文件
api_test.go 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
areaApi.go 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cameraApi.go 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
client.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
entites.go 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
protomsg @ 11a6ba 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
sdkApi.go 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
taskApi.go 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api_test.go
@@ -1,6 +1,7 @@
package dbapi
import (
    "dbapi/protomsg"
    "fmt"
    "testing"
)
@@ -13,7 +14,7 @@
func TestAreaAdd(t *testing.T) {
    var api AreaApi
    var area = Area{
    var area = protomsg.Area{
        Parentid: 0,
        Name:     "哈哈哈",
    }
@@ -24,7 +25,7 @@
func TestAreaUpdate(t *testing.T) {
    var api AreaApi
    var area = Area{
    var area = protomsg.Area{
        Id:       1,
        Name:     "区域更新测试",
        Parentid: 0,
@@ -54,6 +55,12 @@
func TestSdkApi_GetById(t *testing.T) {
    var api SdkApi
    model := api.GetById("812b674b-2375-4589-919a-5c1c3278a97e")
    fmt.Printf("sdkArgs:%s \n",model.Args)
    //if err := json.Unmarshal([]byte(model.Args), &sdkArgs);err !=nil {
    //    fmt.Println(err)
    //}
    fmt.Println(model)
}
@@ -68,3 +75,9 @@
    taskInfos := api.FindAll()
    fmt.Println(taskInfos)
}
func TestCameraApi_FindAll(t *testing.T) {
    var api CameraApi
    cameras := api.FindAll()
    fmt.Println(cameras)
}
areaApi.go
@@ -3,6 +3,7 @@
import (
    "encoding/json"
    "fmt"
    "dbapi/protomsg"
)
type AreaApi struct {
@@ -41,7 +42,7 @@
}
//添加目录节点
func (api AreaApi) AreaAdd(area Area) bool {
func (api AreaApi) AreaAdd(area protomsg.Area) bool {
    flag := false
    url := BASIC_URL + DATA_URL_PREFIX + "/area/add"
    client := NewClient()
@@ -60,7 +61,7 @@
}
//目录更新
func (api AreaApi) AreaUpdate(area Area) bool {
func (api AreaApi) AreaUpdate(area protomsg.Area) bool {
    flag := false
    url := BASIC_URL + DATA_URL_PREFIX + "/area/update/" + string(area.Id)
    client := NewClient()
cameraApi.go
@@ -1,6 +1,7 @@
package dbapi
import (
    "dbapi/protomsg"
    "encoding/json"
    "fmt"
)
@@ -8,7 +9,7 @@
type CameraApi struct{}
//通过cameraId获取摄像机信息
func (api CameraApi) GetCameraById(cameraId string) (result Camera, err error) {
func (api CameraApi) GetCameraById(cameraId string) (result protomsg.Camera, err error) {
    url := BASIC_URL + DATA_URL_PREFIX + "/camera/show/" + cameraId
    client := NewClient()
@@ -28,3 +29,24 @@
    return result, err
}
func (api CameraApi) FindAll() (cameras []protomsg.Camera) {
    url := BASIC_URL + DATA_URL_PREFIX + "/camera/showAll"
    client := NewClient()
    body, err := client.DoGetRequest(url, nil, nil)
    if err != nil {
        return nil
    }
    var res Result
    if err = json.Unmarshal(body, &res); err != nil {
        fmt.Println(err)
        return nil
    }
    bytes, _ := json.Marshal(res.Data)
    err = json.Unmarshal(bytes, &cameras)
    return cameras
}
client.go
@@ -11,7 +11,7 @@
    DoDeleteRequest(url string, contentType string, body map[string]interface{}, headers map[string]string) ([]byte, error)
}
var BASIC_URL            = "http://127.0.0.1:8001"
var BASIC_URL            = "http://192.168.1.11:8001"
const (
    DATA_URL_PREFIX      = "/data/api-v"
entites.go
@@ -1,35 +1,10 @@
package dbapi
import (
    "time"
)
type Result struct {
    Code    int         `json:"code"`
    Data    interface{} `json:"data"`
    Msg     string      `json:"msg"`
    Success bool        `json:"success"`
}
//公共字段
type BaseEntity struct {
    Uuid        string `json:"uuid"`
    Create_time string `json:"create_time"`
    Update_time string `json:"update_time"`
    Create_by   string `json:"create_by"`
    Del_flag    string `json:"del_flag"`
    Enabled     string `json:"enabled"`
}
//目录区域结构
type Area struct {
    Id         uint
    Parentid   int
    Parentids  string
    Name       string
    Createby   int
    Createtime time.Time
    Reserved   string
}
type TreeMenu struct {
@@ -43,92 +18,4 @@
    Id       int
    Name     string
    Parentid int
}
//摄像机结构
type Camera struct {
    Id        string
    Name      string  `json:"name"`
    Type      int     `json:"type" `
    Areaid    uint    `json:"areaid"`
    Addr      string  `json:"addr"`
    Longitude float64 `json:"longitude"`
    Latitude  float64 `json:"latitude"`
    Rtsp      string  `json:"rtsp"`
    Ip        string  `json:"ip"`
    Port      int     `json:"port"`
    Username  string  `json:"username"`
    Password  string  `json:"password"`
    Brand     string  `json:"brand"`
    Reserved  string  `json:"reserved"`
    CamTask   []CameraTask
}
//任务结构
type Task struct {
    Taskid   string `json:"taskid"`
    Taskname string `json:"taskname"`
    CreateAt time.Time
    Createby string
    UpdateAt time.Time
    Enable   bool
    IsAlarm  bool
    DelFlag  bool
}
//摄像机任务
type CameraTask struct {
    Cameraid   string `json:"cameraid"` //摄像机id 来自于摄像机表
    Taskid     string `json:"taskid"`   //任务id  来自于任务表
    DelFlag    bool
    UpdateFlag bool   // 算法名称
    SdkArgs    string `json:"sdkArgs"` // 算法参数
    Enable     int    //默认启用
}
type TasksRes struct {
    Task      Task    `json:"task"` //任务结构体
    Sdks      []Sdk   `json:"sdks"` //任务对应的算法信息和参数
    LinkType  string         `json:"linkType"`
}
//任务和算法关联
type TaskSdk struct {
    Id        string
    Taskid string
    Sdkid  string //来自于算法表
    Sort   int    `json:"sort"` //排序
}
//算法结构体
type Sdk struct {
    BaseEntity
    SdkName string `json:"sdk_name"` //算法名称
    Args    string `json:"args"`    //算法参数
    Icon    string `json:"icon"`    //算法图标
    Url     string `json:"url"`     //算法下载地址
}
//算法参数定义
type SdkArg struct {
    Alias   string `json:"alias"`   //参数的别名
    Name  string `json:"name"`  //参数名称
    Type  string `json:"type"`  //参数类型(整数,字符串或数组)
    Must  bool   `json:"must"`  //是否必填
    Range string `json:"range"` //值的范围,eg:0,100表示从0到100
    Sort  int    `json:"sort"`  //参数顺序
}
//时间参数,从周一到周日某天的开始时间和结束时间,controller用
type TimeRange struct {
    Start string
    End string
}
//多边形结构体
type Point struct {
    X int32 `json:"x"`
    Y int32 `json:"y"`
}
protomsg
@@ -1 +1 @@
Subproject commit fc2d2bcbdea4e392cfb0a81d8b1365854faaed60
Subproject commit 11a6ba2d99914f4b8a5ddf07870a661f15571c3f
sdkApi.go
@@ -1,6 +1,7 @@
package dbapi
import (
    "dbapi/protomsg"
    "encoding/json"
    "fmt"
)
@@ -9,7 +10,7 @@
}
//保存算法,新增(算法id为空),更新(算法id不为空)
func (api SdkApi)Save(sdk Sdk)bool {
func (api SdkApi)Save(sdk protomsg.Sdk)bool {
    flag := false
    url := BASIC_URL + DATA_URL_PREFIX + "/sdk/save"
    client := NewClient()
@@ -28,8 +29,8 @@
}
//查找所有算法
func (api SdkApi) FindAll(sdkName string)[]Sdk{
    var sdkArr []Sdk
func (api SdkApi) FindAll(sdkName string)[]protomsg.Sdk{
    var sdkArr []protomsg.Sdk
    url := BASIC_URL + DATA_URL_PREFIX + "/sdk/findAllSdk"
    client := NewClient()
    paramMap := make(map[string]string, 0)
@@ -55,14 +56,14 @@
        return nil
    }
    for _,sdk := range sdkArr{
        sdkIds = append(sdkIds, sdk.Uuid)
        sdkIds = append(sdkIds, sdk.Id)
    }
    return sdkIds
}
//通过id获取算法信息
func (api SdkApi) GetById(id string) Sdk{
    var sdk Sdk
func (api SdkApi) GetById(id string) protomsg.Sdk{
    var sdk protomsg.Sdk
    url := BASIC_URL + DATA_URL_PREFIX + "/sdk/getById"
    client := NewClient()
    paramMap := make(map[string]string)
taskApi.go
@@ -1,14 +1,15 @@
package dbapi
import (
    "dbapi/protomsg"
    "encoding/json"
    "fmt"
)
type TaskApi struct {}
//获取所有任务信息
func (api TaskApi) FindAll() (taskInfos []TasksRes) {
//获取所有任务信息(包含算法定义)
func (api TaskApi) FindAll() (taskInfos []protomsg.TaskSdkInfo) {
    url := BASIC_URL + DATA_URL_PREFIX + "/task/findAll"
    client := NewClient()
@@ -22,10 +23,7 @@
        return taskInfos
    }
    bytes, _ := json.Marshal(res.Data)
    fmt.Printf("TaskApi.FindAll:%s\n",string(bytes))
    err = json.Unmarshal(bytes, &taskInfos)
    return taskInfos
}
func (api TaskApi) FindAllTaskAndSdkInfo(){
}