From 45778cdd4a7829039fef3d262dc7999bb0628f93 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期三, 10 四月 2024 14:22:43 +0800
Subject: [PATCH] 补充

---
 controllers/fineness.go |  108 +++++++++++++++++++++++------------------------------
 1 files changed, 47 insertions(+), 61 deletions(-)

diff --git a/controllers/fineness.go b/controllers/fineness.go
index f7a9b20..ac8351c 100644
--- a/controllers/fineness.go
+++ b/controllers/fineness.go
@@ -5,6 +5,7 @@
 	"github.com/gin-gonic/gin"
 	"gorm.io/gorm"
 	"silkserver/controllers/request"
+	"silkserver/controllers/response"
 	"silkserver/extend/code"
 	"silkserver/extend/util"
 	"silkserver/models"
@@ -42,10 +43,13 @@
 		util.ResponseFormat(c, code.RequestParamError, err.Error())
 		return
 	}
+
+	isNew := params.ID == 0
+
 	err := models.WithTransaction(func(db *gorm.DB) error {
 		search := models.NewFinenessRegisterSearch().SetOrm(db)
 
-		if params.ID != 0 {
+		if !isNew {
 			if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(params.ID).Delete(); err != nil {
 				return err
 			}
@@ -58,7 +62,7 @@
 		util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
 	}
 
-	err = service.FinenessCheck(&params)
+	err = service.FinenessCheck(&params, isNew)
 	if err != nil {
 		logx.Errorf("service.FinenessCheck err:%v, finenessRegister:%+v", err, params)
 		util.ResponseFormat(c, code.RequestParamError, "鐢熸垚妫�楠岃〃澶辫触")
@@ -170,7 +174,7 @@
 // @Summary   绾ゅ害妫�楠屽垪琛�
 // @Produce   application/json
 // @Param     object  query    request.GetFinenessRegisterList true  "鏌ヨ鍙傛暟"
-// @Success   200   {object}  util.ResponseList{data=[]models.FinenessRegister}  "鎴愬姛"
+// @Success   200   {object}  util.ResponseList{data=[]models.FinenessCheck}  "鎴愬姛"
 // @Router    /api-jl/v1/fineness/check [get]
 func (slf FinenessController) CheckList(c *gin.Context) {
 	var params request.GetFinenessRegisterList
@@ -179,7 +183,7 @@
 		return
 	}
 
-	list, total, err := models.NewFinenessCheckSearch().SetPage(params.Page, params.PageSize).Find()
+	list, total, err := models.NewFinenessCheckSearch().SetPage(params.Page, params.PageSize).SetPreload().Find()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
 		return
@@ -193,32 +197,35 @@
 // @Summary   绾ゅ害妫�楠岃鎯�
 // @Produce   application/json
 // @Param     id  path string true  "瀛楀吀淇℃伅"
-// @Success   200 {object} util.ResponseList{data=models.FinenessRegister} "鎴愬姛"
+// @Success   200 {object} util.ResponseList{data=response.FinenessCheckInfo} "鎴愬姛"
 // @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)
+	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().SetFinenessRegisterID(info.FinenessRegisterID).FindAll()
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鏌ユ壘澶辫触")
+		return
+	}
+
+	util.ResponseFormat(c, code.Success, resp)
 }
 
 // CheckDelete
@@ -266,54 +273,33 @@
 // @Tags      绾ゅ害妫�楠�
 // @Summary   绾ゅ害妫�楠屼慨鏀�
 // @Produce   application/json
-// @Param     object  body  request.AddFinenessRegister true  "瀛楀吀淇℃伅"
+// @Param     object  body   models.FinenessCheck 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 {
+	var params models.FinenessCheck
+	if err := c.BindJSON(&params); 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()
+	_, 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)
-		}
-	})
+	err = service.FinenessReCheck(&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, "鐢熸垚妫�楠岃〃澶辫触")
+		logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params)
+		util.ResponseFormat(c, code.RequestParamError, "妫�楠屽け璐�")
 		return
 	}
 
+	err = models.NewFinenessCheckSearch().Save(&params)
+	if err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+		return
+	}
 	util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛")
 }

--
Gitblit v1.8.0