package dbapi
|
|
import (
|
"basic.com/pubsub/protomsg.git"
|
"encoding/json"
|
"fmt"
|
"strconv"
|
)
|
|
type TaskApi struct {
|
Ip string
|
Port int
|
}
|
|
func (api TaskApi) 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)
|
}
|
|
//获取所有任务信息(包含算法定义)
|
func (api TaskApi) FindAll() (taskInfos []protomsg.TaskSdkInfo) {
|
url := api.getBasicUrl() + 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) FindAllTaskDefaultArgs(scope string)(taskInfos []protomsg.TaskSdkInfo) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/findAll"
|
client := NewClient()
|
queryParam := map[string]string {
|
"scope": scope,
|
}
|
respBody, err := client.DoGetRequest(url, queryParam, 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) FindAllTaskSdkRun() (taskSdks []protomsg.TaskSdkRun) {
|
taskInfos := api.FindAll()
|
if taskInfos !=nil {
|
for _,ti :=range taskInfos{
|
if !ti.Task.Enable {
|
continue
|
}
|
tsr := protomsg.TaskSdkRun{
|
Task:ti.Task,
|
}
|
m := make(map[string]string,0)
|
for _,s := range ti.Sdks{
|
if _,ok :=m[s.IpcId];!ok{
|
m[s.IpcId] = s.IpcId
|
tsr.Sdks = append(tsr.Sdks,&protomsg.SdkRun{
|
IpcId:s.IpcId,
|
SdkType:s.SdkType,
|
})
|
}
|
}
|
|
taskSdks = append(taskSdks,tsr)
|
}
|
}
|
return taskSdks
|
}
|
|
func (api TaskApi) Add(paramBody map[string]interface{}) (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/addTask"
|
client := NewClient()
|
respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
|
if err != nil {
|
return false,nil
|
}
|
var res Result
|
if err = json.Unmarshal(respBody, &res); err != nil {
|
fmt.Println(err)
|
return false,nil
|
}
|
return res.Success,res.Data
|
}
|
|
func (api TaskApi) Delete(taskId string) (bool,interface{}){
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/delete"
|
client := NewClient()
|
paramQuery :=make(map[string]string,0)
|
paramQuery["taskId"] = taskId
|
respBody, err := client.DoGetRequest(url, paramQuery, nil)
|
if err != nil {
|
return false,nil
|
}
|
var res Result
|
if err = json.Unmarshal(respBody, &res); err != nil {
|
return false,nil
|
}
|
return res.Success,res.Data
|
}
|
|
func (api TaskApi) AddTaskSdk(paramBody map[string]interface{}) (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/addTaskSdk"
|
client := NewClient()
|
respBody, err := client.DoPostRequest(url,CONTENT_TYPE_JSON, paramBody, nil,nil)
|
if err != nil {
|
return false,nil
|
}
|
var res Result
|
if err = json.Unmarshal(respBody, &res); err != nil {
|
return false,nil
|
}
|
return res.Success,res.Data
|
}
|
|
func (api TaskApi) UpdateTaskName(taskId string, taskName string) bool {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/updateTaskName"
|
client := NewClient()
|
paramBody := make(map[string]interface{},0)
|
paramBody["taskId"] = taskId
|
paramBody["taskName"] = taskName
|
respBody, err := client.DoPostRequest(url, CONTENT_TYPE_FORM, 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 TaskApi) UpdateTaskStatus(paramBody map[string]interface{}) (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/updateTaskStatus"
|
client := NewClient()
|
respBody, err := client.DoPostRequest(url, CONTENT_TYPE_JSON, paramBody, nil, nil)
|
if err != nil {
|
return false,nil
|
}
|
var res Result
|
if err = json.Unmarshal(respBody, &res); err != nil {
|
return false,nil
|
}
|
return res.Success,res.Data
|
}
|
|
func (api TaskApi) DeleteTaskSdk(taskId string,sdkId string) (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/delTaskSdk"
|
client := NewClient()
|
paramQuery :=make(map[string]string,0)
|
paramQuery["taskId"] = taskId
|
paramQuery["sdkId"] = sdkId
|
respBody, err := client.DoGetRequest(url, paramQuery, nil)
|
if err != nil {
|
return false,nil
|
}
|
var res Result
|
if err = json.Unmarshal(respBody, &res); err != nil {
|
return false,nil
|
}
|
return res.Success,res.Data
|
}
|
|
func (api TaskApi) StatisticTaskCamera() (bool,interface{}) {
|
url := api.getBasicUrl() + DATA_URL_PREFIX + "/task/statisticTaskCamera"
|
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
|
}
|
return res.Success,res.Data
|
}
|