package controllers import ( "github.com/gin-gonic/gin" "gorm.io/gorm" "silkserver/controllers/request" "silkserver/extend/code" "silkserver/extend/util" "silkserver/models" "silkserver/pkg/convertx" "silkserver/pkg/structx" ) type FinenessController struct{} // Add // @Tags 纤度登记 // @Summary 纤度登记添加 // @Produce application/json // @Param object body request.AddFinenessRegister true "字典信息" // @Success 200 {object} util.Response "成功" // @Router /api-jl/v1/fineness/register [post] func (slf FinenessController) Add(c *gin.Context) { var reqParams request.AddFinenessRegister var params models.FinenessRegister if err := c.BindJSON(&reqParams); err != nil { util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") return } if err := structx.AssignTo(reqParams, ¶ms); err != nil { util.ResponseFormat(c, code.RequestParamError, "数据转换错误") return } if err := slf.ParamsCheck(params); err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return } err := models.WithTransaction(func(db *gorm.DB) error { search := models.NewFinenessRegisterSearch().SetOrm(db) if params.ID != 0 { if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(params.ID).Delete(); err != nil { return err } return search.Save(¶ms) } else { return search.Create(¶ms) } }) if err != nil { util.ResponseFormat(c, code.RequestParamError, "保存失败") } util.ResponseFormat(c, code.Success, "保存成功") } func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) { return nil } // List // @Tags 纤度登记 // @Summary 纤度登记列表 // @Produce application/json // @Param object query request.GetFinenessRegisterList true "查询参数" // @Success 200 {object} util.ResponseList{data=[]models.FinenessRegister} "成功" // @Router /api-jl/v1/fineness/register [get] func (slf FinenessController) List(c *gin.Context) { var params request.GetFinenessRegisterList if err := c.ShouldBindQuery(¶ms); err != nil { util.ResponseFormat(c, code.RequestParamError, err.Error()) return } list, total, err := models.NewFinenessRegisterSearch().Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, "查找失败") return } util.ResponseFormatList(c, code.Success, list, total) } // Info // @Tags 纤度登记 // @Summary 纤度登记详情 // @Produce application/json // @Param id path string true "字典信息" // @Success 200 {object} util.ResponseList{data=models.FinenessRegister} "成功" // @Router /api-jl/v1/fineness/register/{id} [get] func (slf FinenessController) Info(c *gin.Context) { idStr := c.Param("id") if idStr == "0" || idStr == "" { util.ResponseFormat(c, code.RequestParamError, "空的记录id") return } id := convertx.StringToUInt(idStr) if id == 0 { util.ResponseFormat(c, code.RequestParamError, "空的记录id") return } info, err := models.NewFinenessRegisterSearch().SetID(id).SetPreload().First() if err != nil { util.ResponseFormat(c, code.RequestParamError, "查找失败") return } util.ResponseFormat(c, code.Success, info) } // Delete // @Tags 纤度登记 // @Summary 纤度登记删除 // @Produce application/json // @Param id path string true "字典信息" // @Success 200 {object} util.Response "成功" // @Router /api-jl/v1/fineness/register/{id} [delete] func (slf FinenessController) Delete(c *gin.Context) { idStr := c.Param("id") if idStr == "0" || idStr == "" { util.ResponseFormat(c, code.RequestParamError, "空的记录id") return } id := convertx.StringToUInt(idStr) if id == 0 { util.ResponseFormat(c, code.RequestParamError, "空的记录id") return } err := models.NewFinenessRegisterSearch().SetID(id).Delete() if err != nil { util.ResponseFormat(c, code.RequestParamError, "删除失败") return } util.ResponseFormat(c, code.UpdateSuccess, "删除成功") }