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 }