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, &params); 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(&params); 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(&params); 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, &params); 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(&params)
+		} else {
+			return search.Create(&params)
+		}
+	})
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+	}
+
+	err = service.FinenessCheck(&params)
+	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