120 lines
3.9 KiB
Go
120 lines
3.9 KiB
Go
package api
|
||
|
||
import (
|
||
"easyvqd/internal/core/vqd"
|
||
"fmt"
|
||
"git.lnton.com/lnton/pkg/reason"
|
||
"github.com/gin-gonic/gin"
|
||
"strconv"
|
||
)
|
||
|
||
func (a VqdTaskAPI) findVqdTaskTemplate(c *gin.Context, in *vqd.FindVqdTaskTemplateInput) (any, error) {
|
||
items, total, err := a.core.FindVqdTaskTemplate(c.Request.Context(), in)
|
||
rows := make([]map[string]interface{}, 0)
|
||
|
||
for _, item := range items {
|
||
//row := structs.Map(item)
|
||
row := make(map[string]interface{})
|
||
row["id"] = item.ID
|
||
row["name"] = item.Name
|
||
row["des"] = item.Des
|
||
row["plans"] = item.Plans
|
||
row["enable"] = item.Enable
|
||
row["is_default"] = item.IsDefault
|
||
row["vqd_config"] = item.VqdConfig
|
||
row["vqd_lgt_dark"] = item.VqdLgtDark
|
||
row["vqd_blue"] = item.VqdBlue
|
||
row["vqd_clarity"] = item.VqdClarity
|
||
row["vqd_shark"] = item.VqdShark
|
||
row["vqd_freeze"] = item.VqdFreeze
|
||
row["vqd_color"] = item.VqdColor
|
||
row["vqd_occlusion"] = item.VqdOcclusion
|
||
row["vqd_noise"] = item.VqdNoise
|
||
row["vqd_contrast"] = item.VqdContrast
|
||
row["vqd_mosaic"] = item.VqdMosaic
|
||
row["vqd_flower"] = item.VqdFlower
|
||
row["created_at"] = item.CreatedAt
|
||
row["updated_at"] = item.UpdatedAt
|
||
|
||
rows = append(rows, row)
|
||
}
|
||
|
||
return gin.H{"items": rows, "total": total}, err
|
||
}
|
||
func (a VqdTaskAPI) getVqdTaskTemplate(c *gin.Context, _ *struct{}) (any, error) {
|
||
ID, _ := strconv.Atoi(c.Param("id"))
|
||
item, err := a.core.GetVqdTaskTemplate(c.Request.Context(), ID)
|
||
if err != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`find vqd [%d] err [%s]`, ID, err.Error()))
|
||
}
|
||
row := make(map[string]interface{})
|
||
|
||
row["id"] = item.ID
|
||
row["name"] = item.Name
|
||
row["is_default"] = item.IsDefault
|
||
row["vqd_config"] = item.VqdConfig
|
||
row["vqd_lgt_dark"] = item.VqdLgtDark
|
||
row["vqd_blue"] = item.VqdBlue
|
||
row["vqd_clarity"] = item.VqdClarity
|
||
row["vqd_shark"] = item.VqdShark
|
||
row["vqd_freeze"] = item.VqdFreeze
|
||
row["vqd_color"] = item.VqdColor
|
||
row["vqd_occlusion"] = item.VqdOcclusion
|
||
row["vqd_noise"] = item.VqdNoise
|
||
row["vqd_contrast"] = item.VqdContrast
|
||
row["vqd_mosaic"] = item.VqdMosaic
|
||
row["vqd_flower"] = item.VqdFlower
|
||
row["des"] = item.Des
|
||
row["plans"] = item.Plans
|
||
row["enable"] = item.Enable
|
||
row["created_at"] = item.CreatedAt
|
||
row["updated_at"] = item.UpdatedAt
|
||
|
||
return gin.H{"data": row}, err
|
||
}
|
||
func (a VqdTaskAPI) addVqdTaskTemplate(c *gin.Context, in *vqd.AddVqdTaskTemplateInput) (any, error) {
|
||
_, err := a.core.AddVqdTaskTemplate(c.Request.Context(), in)
|
||
if err != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`add vqd err [%s]`, err.Error()))
|
||
}
|
||
|
||
return gin.H{"data": "OK!"}, err
|
||
}
|
||
|
||
func (a VqdTaskAPI) editVqdTaskTemplate(c *gin.Context, in *vqd.EditVqdTaskTemplateInput) (any, error) {
|
||
ID, _ := strconv.Atoi(c.Param("id"))
|
||
_, err := a.core.GetVqdTaskTemplate(c.Request.Context(), ID)
|
||
if err != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`find vqd [%d] err [%s]`, ID, err.Error()))
|
||
}
|
||
|
||
_, err = a.core.EditVqdTaskTemplate(c.Request.Context(), in, ID)
|
||
if err != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`edit vqd err [%s]`, err.Error()))
|
||
}
|
||
return gin.H{"data": "OK!"}, err
|
||
}
|
||
|
||
func (a VqdTaskAPI) delVqdTaskTemplate(c *gin.Context, _ *struct{}) (any, error) {
|
||
ID, _ := strconv.Atoi(c.Param("id"))
|
||
info, err := a.core.GetVqdTaskTemplate(c.Request.Context(), ID)
|
||
if err != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`find vqd [%d] err [%s]`, ID, err.Error()))
|
||
}
|
||
if info.IsDefault {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`默认模板不支持删除 [%s] `, info.Name))
|
||
}
|
||
templateInfo, err := a.core.FindVqdTaskTemplateID(c.Request.Context(), ID)
|
||
if err == nil {
|
||
if templateInfo != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`模板关联【%s】任务,需先清理【%s】任务后才能删除模板!`, templateInfo.Name, templateInfo.Name))
|
||
}
|
||
}
|
||
_, err = a.core.DelVqdTaskTemplate(c.Request.Context(), ID)
|
||
if err != nil {
|
||
return nil, reason.ErrServer.SetMsg(fmt.Sprintf(`del vqd [%d] err [%s]`, ID, err.Error()))
|
||
}
|
||
|
||
return gin.H{"data": "OK!"}, err
|
||
}
|