Commit e3edd5eb authored by brent's avatar brent

add favorite interface and modify task type interface

parent 7f6d87a6
...@@ -4,6 +4,8 @@ import ( ...@@ -4,6 +4,8 @@ import (
"ai_developer_admin/libs/mysql" "ai_developer_admin/libs/mysql"
"ai_developer_admin/models" "ai_developer_admin/models"
"encoding/json" "encoding/json"
"fmt"
"github.com/beego/beego/orm"
"github.com/beego/beego/v2/core/logs" "github.com/beego/beego/v2/core/logs"
"net/http" "net/http"
"time" "time"
...@@ -76,7 +78,10 @@ func (server *FavoriteController) Cancel() { ...@@ -76,7 +78,10 @@ func (server *FavoriteController) Cancel() {
server.respond(models.BusinessFailed, "You have not followed this model") server.respond(models.BusinessFailed, "You have not followed this model")
return return
} }
_, err = mysql.GetMysqlInstace().Ormer.Delete(checkFavorite) checkFavorite.UpdatedTime = time.Now()
checkFavorite.Deleted = 1
_, err = mysql.GetMysqlInstace().Ormer.Update(checkFavorite)
if err != nil { if err != nil {
server.respond(models.BusinessFailed, "failed") server.respond(models.BusinessFailed, "failed")
return return
...@@ -117,15 +122,15 @@ func (server *FavoriteController) IsFavorite() { ...@@ -117,15 +122,15 @@ func (server *FavoriteController) IsFavorite() {
server.respond(http.StatusOK, "", responseData) server.respond(http.StatusOK, "", responseData)
} }
func (server *FavoriteController) Favorites() { func (server *FavoriteController) Lists() {
info, err := server.Check() //info, err := server.Check()
if err != nil { //if err != nil {
server.respond(http.StatusUnauthorized, err.Error()) // server.respond(http.StatusUnauthorized, err.Error())
return // return
} //}
body := server.Ctx.Input.RequestBody body := server.Ctx.Input.RequestBody
appRequest := models.AppRequest{} appRequest := models.AppRequest{}
err = json.Unmarshal(body, &appRequest) //解析body中数据 _ = json.Unmarshal(body, &appRequest) //解析body中数据
logs.Debug("appRequest", appRequest, string(body)) logs.Debug("appRequest", appRequest, string(body))
if appRequest.Page == 0 { if appRequest.Page == 0 {
...@@ -137,21 +142,48 @@ func (server *FavoriteController) Favorites() { ...@@ -137,21 +142,48 @@ func (server *FavoriteController) Favorites() {
} }
offset := (appRequest.Page - 1) * appRequest.Size offset := (appRequest.Page - 1) * appRequest.Size
qs := mysql.GetMysqlInstace().Ormer.QueryTable("favorite").Filter("deleted", 0) type ResponseType struct {
if !(info.Role == 1 || info.Role == 2) { Id int `json:"id"`
qs.Filter("user_id", info.UserID) TaskTypeId int `json:"task_type_id,omitempty"`
} UserId int `json:"user_id"`
infoQs := qs.Offset(offset).Limit(appRequest.Size) Name string `json:"name"`
count, err := infoQs.Count() CreatedTime time.Time `json:"created_time"`
logs.Debug("Levels = ", count) }
var favorites []*models.Favorite var favorites []*ResponseType
if count > 0 {
infoQs.All(&favorites) countQB, _ := orm.NewQueryBuilder("mysql")
//for _,value := favorites { queryQB, _ := orm.NewQueryBuilder("mysql")
//
countQB.Select("count(*) AS total").
From("favorite").
InnerJoin("task_type").On("favorite.task_type_id = task_type.id")
queryQB.Select("favorite.id", "favorite.task_type_id", "favorite.user_id", "favorite.created_time",
"task_type.name").
From("favorite").
InnerJoin("task_type").On("favorite.task_type_id = task_type.id")
countQB.Where("favorite.deleted = 0")
queryQB.Where("favorite.deleted = 0")
//if !(info.Role == 1 || info.Role == 2) {
// countQB.And(fmt.Sprintf("user_id = '%d'", info.UserID))
// queryQB.And(fmt.Sprintf("user_id = '%d'", info.UserID))
//} //}
if appRequest.Keyword != "" {
keyword := "%" + appRequest.Keyword + "%"
countQB.And(fmt.Sprintf("name like '%s'", keyword))
queryQB.And(fmt.Sprintf("name like '%s'", keyword))
} }
total, err := qs.Count() queryQB.OrderBy("created_time").Desc().
Limit(int(appRequest.Size)).Offset(int(offset))
sql := countQB.String()
var total int64
_ = mysql.GetMysqlInstace().Ormer.Raw(sql).QueryRow(&total)
// 导出 SQL 语句
sql = queryQB.String()
mysql.GetMysqlInstace().Ormer.Raw(sql).QueryRows(&favorites)
responseData := struct { responseData := struct {
Total int64 `json:"total"` Total int64 `json:"total"`
Data interface{} `json:"data,omitempty"` Data interface{} `json:"data,omitempty"`
......
This diff is collapsed.
...@@ -60,6 +60,7 @@ type AppRequest struct { ...@@ -60,6 +60,7 @@ type AppRequest struct {
// 模型模糊查询 // 模型模糊查询
Keyword string `json:"keyword,omitempty"` Keyword string `json:"keyword,omitempty"`
Category int `json:"category,omitempty"` Category int `json:"category,omitempty"`
Kind int `json:"kind,omitempty"`
//显卡列表 //显卡列表
Type int `json:"type,omitempty"` Type int `json:"type,omitempty"`
......
...@@ -86,8 +86,8 @@ type TaskType struct { ...@@ -86,8 +86,8 @@ type TaskType struct {
Category int `json:"category";orm:"column(category)"` Category int `json:"category";orm:"column(category)"`
Form string `json:"form";orm:"column(form)"` Form string `json:"form";orm:"column(form)"`
ResultFileExpires int `json:"result_file_expires";orm:"column(result_file_expires)"` ResultFileExpires int `json:"result_file_expires";orm:"column(result_file_expires)"`
AccessStatus int `json:"access_status,omitempty"` AccessStatus int `json:"access_status,omitempty";orm:"column(access_status)"`
PublishStatus int `json:"publish_status,omitempty"` PublishStatus int `json:"publish_status,omitempty";orm:"column(publish_status)"`
Unit string `json:"unit";orm:"column(unit)"` Unit string `json:"unit";orm:"column(unit)"`
Sort int `json:"sort";orm:"column(sort)"` Sort int `json:"sort";orm:"column(sort)"`
EstimatExeTime int `json:"estimat_exe_time";orm:"column(estimat_exe_time)"` EstimatExeTime int `json:"estimat_exe_time";orm:"column(estimat_exe_time)"`
...@@ -164,6 +164,7 @@ type Model struct { ...@@ -164,6 +164,7 @@ type Model struct {
Unit string `json:"unit";orm:"column(unit)"` Unit string `json:"unit";orm:"column(unit)"`
Sort int `json:"sort";orm:"column(sort)"` Sort int `json:"sort";orm:"column(sort)"`
EstimatExeTime int `json:"estimat_exe_time";orm:"column(estimat_exe_time)"` EstimatExeTime int `json:"estimat_exe_time";orm:"column(estimat_exe_time)"`
IsFavorite int `json:"is_favorite"`
} }
type ResonseModel struct { type ResonseModel struct {
...@@ -189,6 +190,7 @@ type ResonseModel struct { ...@@ -189,6 +190,7 @@ type ResonseModel struct {
Unit string `json:"unit";orm:"column(unit)"` Unit string `json:"unit";orm:"column(unit)"`
Sort int `json:"sort";orm:"column(sort)"` Sort int `json:"sort";orm:"column(sort)"`
EstimatExeTime int `json:"estimat_exe_time";orm:"column(estimat_exe_time)"` EstimatExeTime int `json:"estimat_exe_time";orm:"column(estimat_exe_time)"`
IsFavorite int `json:"is_favorite"`
} }
type Bills struct { type Bills struct {
......
...@@ -15,4 +15,5 @@ func init() { ...@@ -15,4 +15,5 @@ func init() {
beego.AutoPrefix("admin/api", &controllers.MonitorController{}) beego.AutoPrefix("admin/api", &controllers.MonitorController{})
beego.AutoPrefix("admin/api", &controllers.WhitelistController{}) beego.AutoPrefix("admin/api", &controllers.WhitelistController{})
beego.AutoPrefix("admin/api", &controllers.FileController{}) beego.AutoPrefix("admin/api", &controllers.FileController{})
beego.AutoPrefix("admin/api", &controllers.FavoriteController{})
} }
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