From 2234e8fa97e85e1e69a6f970416602f283e09df6 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期日, 07 四月 2024 21:57:28 +0800 Subject: [PATCH] 解决联调问题,增加纤度检验相关接口 --- controllers/fineness.go | 190 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 181 insertions(+), 9 deletions(-) diff --git a/controllers/fineness.go b/controllers/fineness.go index 43981d1..f7a9b20 100644 --- a/controllers/fineness.go +++ b/controllers/fineness.go @@ -1,6 +1,7 @@ package controllers import ( + "errors" "github.com/gin-gonic/gin" "gorm.io/gorm" "silkserver/controllers/request" @@ -15,21 +16,24 @@ type FinenessController struct{} -// Add +// RegisterAdd // @Tags 绾ゅ害鐧昏 // @Summary 绾ゅ害鐧昏娣诲姞 // @Produce application/json // @Param object body request.AddFinenessRegister true "瀛楀吀淇℃伅" +// @Param Authorization header string true "token" // @Success 200 {object} util.Response "鎴愬姛" // @Router /api-jl/v1/fineness/register [post] -func (slf FinenessController) Add(c *gin.Context) { +func (slf FinenessController) RegisterAdd(c *gin.Context) { var reqParams request.AddFinenessRegister var params models.FinenessRegister if err := c.BindJSON(&reqParams); err != nil { + logx.Errorf("RegisterAdd 鍙傛暟瑙f瀽澶辫触:%v", err.Error()) util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } if err := structx.AssignTo(reqParams, ¶ms); err != nil { + logx.Errorf("RegisterAdd 鏁版嵁杞崲閿欒:%v", err.Error()) util.ResponseFormat(c, code.RequestParamError, "鏁版嵁杞崲閿欒") return } @@ -58,30 +62,45 @@ if err != nil { logx.Errorf("service.FinenessCheck err:%v, finenessRegister:%+v", err, params) util.ResponseFormat(c, code.RequestParamError, "鐢熸垚妫�楠岃〃澶辫触") + return } util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛") } func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) { + if params.ID == 0 { + _, err = models.NewFinenessRegisterSearch().SetNumber(params.Number).First() + if err != gorm.ErrRecordNotFound { + return errors.New("缂栫爜閲嶅") + } + } else { + old, err := models.NewFinenessRegisterSearch().SetID(params.ID).First() + if err != nil { + return errors.New("璁板綍涓嶅瓨鍦�") + } + if old.Number != params.Number { + return errors.New("缂栫爜涓嶈兘淇敼") + } + } return nil } -// List +// RegisterList // @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) { +func (slf FinenessController) RegisterList(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() + list, total, err := models.NewFinenessRegisterSearch().SetKeyword(params.Keyword).SetPage(params.Page, params.PageSize).Find() if err != nil { util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") return @@ -90,14 +109,14 @@ util.ResponseFormatList(c, code.Success, list, total) } -// Info +// RegisterInfo // @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) { +func (slf FinenessController) RegisterInfo(c *gin.Context) { idStr := c.Param("id") if idStr == "0" || idStr == "" { util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id") @@ -118,14 +137,14 @@ util.ResponseFormat(c, code.Success, info) } -// Delete +// RegisterDelete // @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) { +func (slf FinenessController) RegisterDelete(c *gin.Context) { idStr := c.Param("id") if idStr == "0" || idStr == "" { util.ResponseFormat(c, code.RequestParamError, "绌虹殑璁板綍id") @@ -145,3 +164,156 @@ } util.ResponseFormat(c, code.UpdateSuccess, "鍒犻櫎鎴愬姛") } + +// CheckList +// @Tags 绾ゅ害妫�楠� +// @Summary 绾ゅ害妫�楠屽垪琛� +// @Produce application/json +// @Param object query request.GetFinenessRegisterList true "鏌ヨ鍙傛暟" +// @Success 200 {object} util.ResponseList{data=[]models.FinenessRegister} "鎴愬姛" +// @Router /api-jl/v1/fineness/check [get] +func (slf FinenessController) CheckList(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.NewFinenessCheckSearch().SetPage(params.Page, params.PageSize).Find() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") + return + } + + util.ResponseFormatList(c, code.Success, list, total) +} + +// CheckInfo +// @Tags 绾ゅ害妫�楠� +// @Summary 绾ゅ害妫�楠岃鎯� +// @Produce application/json +// @Param id path string true "瀛楀吀淇℃伅" +// @Success 200 {object} util.ResponseList{data=models.FinenessRegister} "鎴愬姛" +// @Router /api-jl/v1/fineness/check/{id} [get] +func (slf FinenessController) CheckInfo(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.NewFinenessCheckSearch().SetID(id).SetPreload().First() + //if err != nil { + // util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触") + // return + //} + //resp := new(response.FinenessCheckInfo) + //resp.Info = info + //resp.Items, err := models.NewFinenessCheckItemSearch().SetPage() + // + // + //util.ResponseFormat(c, code.Success, info) +} + +// CheckDelete +// @Tags 绾ゅ害妫�楠� +// @Summary 绾ゅ害妫�楠屽垹闄� +// @Produce application/json +// @Param id path string true "瀛楀吀淇℃伅" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-jl/v1/fineness/check/{id} [delete] +func (slf FinenessController) CheckDelete(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 + } + + check, err := models.NewFinenessCheckSearch().SetID(id).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "妫�楠岃褰曚笉瀛樺湪") + return + } + + err = models.WithTransaction(func(db *gorm.DB) error { + err := models.NewFinenessCheckSearch().SetOrm(db).SetID(id).Delete() + if err != nil { + return err + } + return models.NewFinenessCheckItemSearch().SetOrm(db).SetFinenessRegisterID(check.FinenessRegisterID).Delete() + }) + + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍒犻櫎澶辫触") + return + } + util.ResponseFormat(c, code.UpdateSuccess, "鍒犻櫎鎴愬姛") +} + +// CheckEdit +// @Tags 绾ゅ害妫�楠� +// @Summary 绾ゅ害妫�楠屼慨鏀� +// @Produce application/json +// @Param object body request.AddFinenessRegister true "瀛楀吀淇℃伅" +// @Success 200 {object} util.Response "鎴愬姛" +// @Router /api-jl/v1/fineness/check [post] +func (slf FinenessController) CheckEdit(c *gin.Context) { + var reqParams request.AddFinenessRegister + var params models.FinenessRegister + if err := c.BindJSON(&reqParams); err != nil { + util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") + 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 + } + + check, err := models.NewFinenessCheckSearch().SetID(params.ID).First() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "妫�楠岃褰曚笉瀛樺湪") + return + } + + err = models.WithTransaction(func(db *gorm.DB) error { + search := models.NewFinenessRegisterSearch().SetOrm(db) + + if params.ID != 0 { + if err := models.NewFinenessCheckItemSearch().SetOrm(db).SetFinenessRegisterID(check.FinenessRegisterID).Delete(); err != nil { + return err + } + return search.Save(¶ms) + } else { + return search.Create(¶ms) + } + }) + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触") + } + + err = service.FinenessCheck(¶ms) + if err != nil { + logx.Errorf("service.FinenessCheck err:%v, finenessRegister:%+v", err, params) + util.ResponseFormat(c, code.RequestParamError, "鐢熸垚妫�楠岃〃澶辫触") + return + } + + util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛") +} -- Gitblit v1.8.0