|
|
package controller |
|
|
|
|
|
import ( |
|
|
"strconv" |
|
|
|
|
|
"github.com/QuantumNous/new-api/common" |
|
|
"github.com/QuantumNous/new-api/model" |
|
|
|
|
|
"github.com/gin-gonic/gin" |
|
|
) |
|
|
|
|
|
|
|
|
func GetPrefillGroups(c *gin.Context) { |
|
|
groupType := c.Query("type") |
|
|
groups, err := model.GetAllPrefillGroups(groupType) |
|
|
if err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
common.ApiSuccess(c, groups) |
|
|
} |
|
|
|
|
|
|
|
|
func CreatePrefillGroup(c *gin.Context) { |
|
|
var g model.PrefillGroup |
|
|
if err := c.ShouldBindJSON(&g); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
if g.Name == "" || g.Type == "" { |
|
|
common.ApiErrorMsg(c, "组名称和类型不能为空") |
|
|
return |
|
|
} |
|
|
|
|
|
if dup, err := model.IsPrefillGroupNameDuplicated(0, g.Name); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} else if dup { |
|
|
common.ApiErrorMsg(c, "组名称已存在") |
|
|
return |
|
|
} |
|
|
|
|
|
if err := g.Insert(); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
common.ApiSuccess(c, &g) |
|
|
} |
|
|
|
|
|
|
|
|
func UpdatePrefillGroup(c *gin.Context) { |
|
|
var g model.PrefillGroup |
|
|
if err := c.ShouldBindJSON(&g); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
if g.Id == 0 { |
|
|
common.ApiErrorMsg(c, "缺少组 ID") |
|
|
return |
|
|
} |
|
|
|
|
|
if dup, err := model.IsPrefillGroupNameDuplicated(g.Id, g.Name); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} else if dup { |
|
|
common.ApiErrorMsg(c, "组名称已存在") |
|
|
return |
|
|
} |
|
|
|
|
|
if err := g.Update(); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
common.ApiSuccess(c, &g) |
|
|
} |
|
|
|
|
|
|
|
|
func DeletePrefillGroup(c *gin.Context) { |
|
|
idStr := c.Param("id") |
|
|
id, err := strconv.Atoi(idStr) |
|
|
if err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
if err := model.DeletePrefillGroupByID(id); err != nil { |
|
|
common.ApiError(c, err) |
|
|
return |
|
|
} |
|
|
common.ApiSuccess(c, nil) |
|
|
} |
|
|
|