Commit 17a2a8d3 authored by brent's avatar brent

add model by id interface

parent e3edd5eb
......@@ -2532,6 +2532,129 @@ func (server *TaskController) Models() {
server.respond(http.StatusOK, "", responseData)
}
func (server *TaskController) ModelById() {
body := server.Ctx.Input.RequestBody
appRequest := models.AppRequest{}
_ = json.Unmarshal(body, &appRequest) //解析body中数据
logs.Debug("appRequest", appRequest, string(body))
if appRequest.Id == 0 {
server.respond(models.MissingParameter, "Missing id parameter")
return
}
queryQB, _ := orm.NewQueryBuilder("mysql")
queryQB.Select("task_type.id",
"task_type.name AS tit",
"task_type.type",
"task_type.desc AS content",
"task_type.sort",
"task_type.tags",
"task_type.estimat_exe_time",
"task_type.price",
"task_type.unit",
"task_type.examples",
"task_type.codes",
"task_type.base_model",
"task_type.model",
"task_type.api_path",
"task_type.api_doc_url",
"task_type.api_doc_content",
"task_type.version",
"task_type.category",
"task_type.form",
"task_type.access_status",
"task_type.publish_status",
"favorite.id AS is_favorite").
From("task_type").
LeftJoin("favorite").On("favorite.task_type_id = task_type.id and favorite.deleted = 0")
queryQB.Where("task_type.deleted = 0").
And(fmt.Sprintf("task_type.id = '%d'", appRequest.Id))
var data models.Model
sql := queryQB.String()
mysql.GetMysqlInstace().Ormer.Raw(sql).QueryRow(&data)
type ResponseType struct {
Id int `json:"id"`
Tit string `json:"tit"`
Version string `json:"version,omitempty"`
Content string `json:"content"`
Type int `json:"type"`
ApiPath string `json:"api_path"`
BaseModel string `json:"base_model"`
Model string `json:"model""`
Examples interface{} `json:"examples"`
ApiDocUrl string `json:"api_doc_url"`
ApiDocContent string `json:"api_doc_content"`
Codes interface{} `json:"codes"`
Tags interface{} `json:"tags"`
Form interface{} `json:"form"`
Category int `json:"category"`
ResultFileExpires int `json:"result_file_expires"`
AccessStatus int `json:"access_status,omitempty"`
PublishStatus int `json:"publish_status,omitempty"`
Price float64 `json:"price"`
Unit string `json:"unit"`
Sort int `json:"sort"`
EstimatExeTime int `json:"estimat_exe_time"`
IsFavorite int `json:"is_favorite"`
}
if data.PublishStatus != 1 {
server.respond(models.BusinessFailed, "This model has not been published yet.")
return
}
var examples interface{}
eer := json.Unmarshal([]byte(data.Examples), &examples)
if eer != nil {
}
var codes interface{}
eer = json.Unmarshal([]byte(data.Codes), &codes)
if eer != nil {
}
var tags interface{}
eer = json.Unmarshal([]byte(data.Tags), &tags)
if eer != nil {
}
var form interface{}
eer = json.Unmarshal([]byte(data.Form), &form)
if eer != nil {
}
responseData := ResponseType{
Id: data.Id,
Tit: data.Tit,
Version: data.Version,
Content: data.Content,
Type: data.Type,
ApiPath: data.ApiPath,
BaseModel: data.BaseModel,
Model: data.Model,
Examples: examples,
ApiDocUrl: data.ApiDocUrl,
ApiDocContent: data.ApiDocContent,
Codes: codes,
Tags: tags,
Category: data.Category,
Form: form,
ResultFileExpires: data.ResultFileExpires,
AccessStatus: data.AccessStatus,
PublishStatus: data.PublishStatus,
Price: float64(data.Price) / 1000000,
Unit: data.Unit,
Sort: data.Sort,
EstimatExeTime: data.EstimatExeTime,
IsFavorite: data.IsFavorite,
}
server.respond(http.StatusOK, "", responseData)
}
func (server *TaskController) RunCount() {
//_, err := server.Check()
//if err != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment