From aaa7697d6ec77e03d96ce36ca66abcbbcf2bb7a3 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期二, 14 七月 2020 12:03:33 +0800 Subject: [PATCH] add ruleSo --- service/SdkInstall.go | 107 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 79 insertions(+), 28 deletions(-) diff --git a/service/SdkInstall.go b/service/SdkInstall.go index a223dbd..83c4f1e 100644 --- a/service/SdkInstall.go +++ b/service/SdkInstall.go @@ -2,6 +2,8 @@ import ( "basic.com/dbapi.git" + "basic.com/pubsub/protomsg.git" + "basic.com/valib/licence.git" "basic.com/valib/logger.git" "encoding/json" "errors" @@ -13,10 +15,44 @@ "strings" "webserver/extend/config" "webserver/extend/util" + reqUtil "webserver/extend/util" ) type SdkInstallService struct { +} + +func (sv SdkInstallService) Active(cod string) error { + //浣跨敤婵�娲荤爜婵�娲荤畻娉� + url := "http://"+config.ShopConf.Url+"/data/api-s/sdk/activeByAINode" + machineCode := licence.GetMachineCode() + if machineCode == "" { + logger.Debug("鑾峰彇鏈哄櫒鐮佸け璐�") + return errors.New("鑾峰彇鏈哄櫒鐮佸け璐�") + } + paramBody := map[string]interface{}{ + "code": cod, + "machineCode": machineCode, + } + header := map[string]string { + "Authorization": token, + } + respBody, err := reqUtil.DoPostRequest(url, reqUtil.CONTENT_TYPE_JSON, paramBody, nil, header) + if err != nil { + logger.Debug("DoPostRequest err:", err) + return err + } + var res dbapi.Result + if err = json.Unmarshal(respBody, &res); err != nil { + logger.Debug("unmarshal err:", err) + return err + } + if !res.Success { + logger.Debug("res.Data:", res.Data) + return errors.New("璇锋眰鍟嗗煄澶辫触") + } + + return nil } //绠楁硶瀹夎鍖呭畨瑁� @@ -178,15 +214,8 @@ soM[skd.Def.SdkType] = skd } if _,ok := aInsM[skd.Def.Id]; ok { - srv := SdkRegisterVo{ - Id: skd.Def.Id, - SdkType: skd.Def.SdkType, - SdkName: skd.Def.SdkName, - Icon: skd.Def.Icon, - Url: skd.Def.Url, - IconBlob: skd.Def.IconBlob, - Version: skd.Def.Version, - } + srv := SdkRegisterVo{} + srv.SdkCommon = skd.Def.SdkCommon for _,ag := range skd.Args { sra := SdkRegisterArgVo{ Scope: ag.Scope, @@ -235,6 +264,13 @@ if _,cE := util.CopyDirByCmd(unPackPath+sdkType+"/models", "./"); cE != nil { return false, cE } + //鎷疯礉瀹屾垚鍚庡垹闄ibs涓媠dkType鏂囦欢澶逛笅models + } + if util.DirExists(libPath+sdkType+"/models") { + os.RemoveAll(libPath+sdkType+"/models") + } + if util.DirExists(libPath+sdkType+"/zconf") { + os.RemoveAll(libPath+sdkType+"/zconf") } } else { logger.Debug("unTarGzE sdkType.tar.gz err:", unTarGzE) @@ -282,9 +318,9 @@ cM,cEM := strconv.Atoi(curIVArr[1]) cL,cEL := strconv.Atoi(curIVArr[2]) - dH,dEH := strconv.Atoi(curIVArr[0]) - dM,dEM := strconv.Atoi(curIVArr[1]) - dL,dEL := strconv.Atoi(curIVArr[2]) + dH,dEH := strconv.Atoi(dstIVArr[0]) + dM,dEM := strconv.Atoi(dstIVArr[1]) + dL,dEL := strconv.Atoi(dstIVArr[2]) if cEH !=nil || cEM != nil || cEL != nil || dEH != nil ||dEM !=nil || dEL !=nil { return false } @@ -330,20 +366,41 @@ } type Sdk struct { - Id string `gorm:"column:id;primary_key;type:varchar(50);unique;not null;" json:"id"` - IpcId string `gorm:"column:ipc_id" json:"ipc_id"` - SdkType string `gorm:"column:sdk_type" json:"sdk_type"` - SdkName string `gorm:"column:sdk_name" json:"sdk_name" example:"浜鸿劯妫�娴�"` - Icon string `gorm:"column:icon" json:"icon,omitempty"` - Url string `gorm:"column:url" json:"url,omitempty" example:"http://ip:port/govideo/sdk/1"` + SdkCommon CreateTime string `gorm:"column:create_time" json:"create_time"` CreateBy string `gorm:"column:create_by" json:"create_by"` UpdateTime string `gorm:"column:update_time" json:"update_time"` Enable bool `gorm:"column:enable;default:1" json:"enable"` DelFlag int `gorm:"column:del_flag;default:0" json:"del_flag"` - Env string `gorm:"column:env" json:"env"` //杩愯鐜鍙婄粨鏋滆鏄庯紝json鏍煎紡锛屽寘鍚玸o_file_path,runtime,param,depends(cuda鐗堟湰锛宱pencv鐗堟湰锛宼ensorflow鐗堟湰绛�) - IconBlob string `gorm:"column:iconBlob;type:text;" json:"iconBlob"` //鍥剧墖 - Version string `gorm:"column:version;type:varchar(50);default:'1.0';" json:"version"` //鐗堟湰鍙� + + Args []SdkArg `json:"args"` +} + +func (sc *SdkCommon) copyFromProto(pSdk protomsg.Sdk) { + sc.Id = pSdk.Id + sc.IpcId = pSdk.IpcId + sc.SdkType = pSdk.SdkType + sc.SdkName = pSdk.SdkName + sc.Icon = pSdk.Icon + sc.Url = pSdk.Url + sc.IconBlob = pSdk.IconBlob + sc.Version = pSdk.Version + sc.ArgDef = pSdk.ArgDef + sc.RuleSo = pSdk.RuleSo +} + +type SdkCommon struct { + Id string `json:"id"` + IpcId string `json:"ipc_id"` + SdkType string `json:"sdk_type"`//浜鸿劯妫�娴嬶細FaceDetect,浜鸿劯鎻愬彇锛欶aceExtract,浜鸿劯姣斿锛欶aceCompare,琛屼负锛歒olo + SdkName string `json:"sdk_name"` //绠楁硶鍚嶇О + Icon string `json:"icon"` //绠楁硶鍥炬爣 + Url string `json:"url"` //绠楁硶涓嬭浇鍦板潃 + IconBlob string `json:"iconBlob"` //鍥剧墖 + Version string `json:"version"` //鐗堟湰鍙� + EnTrack bool `json:"enTrack"` //鏄惁寮�鍚窡韪� + ArgDef string `json:"argDef"` //绠楁硶榛樿鍙傛暟瀹氫箟 + RuleSo string `json:"rule_so"` } type SdkInsOrUpgrade struct { @@ -375,14 +432,8 @@ type SdkRegisterVo struct { - Id string `json:"id"` - SdkType string `json:"sdk_type"`//浜鸿劯妫�娴嬶細FaceDetect,浜鸿劯鎻愬彇锛欶aceExtract,浜鸿劯姣斿锛欶aceCompare,琛屼负锛歒olo - SdkName string `json:"sdk_name"` //绠楁硶鍚嶇О + SdkCommon Args []SdkRegisterArgVo `json:"args"` //绠楁硶鍙傛暟 - Icon string `json:"icon"` //绠楁硶鍥炬爣 - Url string `json:"url"` //绠楁硶涓嬭浇鍦板潃 - IconBlob string `json:"iconBlob"` //鍥剧墖 - Version string `json:"version"` //鐗堟湰鍙� } type SdkRegisterArgVo struct { -- Gitblit v1.8.0