From 670cb9b9a9bd96f3a71682e944a4cf3f86f51528 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期四, 29 二月 2024 17:54:57 +0800
Subject: [PATCH] 获取纤度登记详情

---
 controllers/fineness.go |   30 +++++++++
 models/fineness.go      |   12 +++
 docs/swagger.yaml       |   22 +++++++
 docs/docs.go            |   38 ++++++++++++
 docs/swagger.json       |   38 ++++++++++++
 router/router.go        |    1 
 6 files changed, 139 insertions(+), 2 deletions(-)

diff --git a/controllers/fineness.go b/controllers/fineness.go
index a9068e3..f3ad5f9 100644
--- a/controllers/fineness.go
+++ b/controllers/fineness.go
@@ -67,7 +67,35 @@
 		return
 	}
 
-	util.ResponseFormatList(c, code.Success, list, int(total))
+	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
diff --git a/docs/docs.go b/docs/docs.go
index 33d264f..3c028fe 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -93,6 +93,44 @@
             }
         },
         "/api-jl/v1/fineness/register/{id}": {
+            "get": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "绾ゅ害鐧昏"
+                ],
+                "summary": "绾ゅ害鐧昏璇︽儏",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "瀛楀吀淇℃伅",
+                        "name": "id",
+                        "in": "path",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.ResponseList"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "$ref": "#/definitions/models.FinenessRegister"
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            },
             "delete": {
                 "produces": [
                     "application/json"
diff --git a/docs/swagger.json b/docs/swagger.json
index a6d7a47..5c8d3f8 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -81,6 +81,44 @@
             }
         },
         "/api-jl/v1/fineness/register/{id}": {
+            "get": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "绾ゅ害鐧昏"
+                ],
+                "summary": "绾ゅ害鐧昏璇︽儏",
+                "parameters": [
+                    {
+                        "type": "string",
+                        "description": "瀛楀吀淇℃伅",
+                        "name": "id",
+                        "in": "path",
+                        "required": true
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "鎴愬姛",
+                        "schema": {
+                            "allOf": [
+                                {
+                                    "$ref": "#/definitions/util.ResponseList"
+                                },
+                                {
+                                    "type": "object",
+                                    "properties": {
+                                        "data": {
+                                            "$ref": "#/definitions/models.FinenessRegister"
+                                        }
+                                    }
+                                }
+                            ]
+                        }
+                    }
+                }
+            },
             "delete": {
                 "produces": [
                     "application/json"
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 24d7128..d4f5dd8 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -275,6 +275,28 @@
       summary: 绾ゅ害鐧昏鍒犻櫎
       tags:
       - 绾ゅ害鐧昏
+    get:
+      parameters:
+      - description: 瀛楀吀淇℃伅
+        in: path
+        name: id
+        required: true
+        type: string
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: 鎴愬姛
+          schema:
+            allOf:
+            - $ref: '#/definitions/util.ResponseList'
+            - properties:
+                data:
+                  $ref: '#/definitions/models.FinenessRegister'
+              type: object
+      summary: 绾ゅ害鐧昏璇︽儏
+      tags:
+      - 绾ゅ害鐧昏
   /api-jl/v1/system/dict:
     get:
       parameters:
diff --git a/models/fineness.go b/models/fineness.go
index 9486840..44b018d 100644
--- a/models/fineness.go
+++ b/models/fineness.go
@@ -18,7 +18,7 @@
 		Spec          string         `gorm:"type:varchar(255);not null;comment:瑙勬牸" json:"spec"`          //瑙勬牸
 		StartCircle   uint8          `gorm:"type:varchar(255);not null;comment:寮�濮嬪洖鏁�" json:"startCircle"` //寮�濮嬪洖鏁�
 		EndCircle     uint8          `gorm:"type:varchar(255);not null;comment:缁撴潫鍥炴暟" json:"endCircle"`   //缁撴潫鍥炴暟
-		FinenessList  []FinenessItem `gorm:"foreignkey:FinenessRegisterID" json:"finenessList"`
+		FinenessList  []FinenessItem `gorm:"foreignkey:FinenessRegisterID;references:ID" json:"finenessList"`
 	}
 	FinenessRegisterSearch struct {
 		FinenessRegister
@@ -26,6 +26,7 @@
 		PageNum  int
 		PageSize int
 		Orm      *gorm.DB
+		Preload  bool
 	}
 )
 
@@ -52,6 +53,11 @@
 	return slf
 }
 
+func (slf *FinenessRegisterSearch) SetPreload() *FinenessRegisterSearch {
+	slf.Preload = true
+	return slf
+}
+
 func (slf *FinenessRegisterSearch) SetID(id uint) *FinenessRegisterSearch {
 	slf.ID = id
 	return slf
@@ -77,6 +83,10 @@
 		db = db.Where("number = ?", slf.Number)
 	}
 
+	if slf.Preload {
+		db = db.Model(&FinenessRegister{}).Preload("FinenessList")
+	}
+
 	return db
 }
 
diff --git a/router/router.go b/router/router.go
index 4b6f486..a8185c3 100644
--- a/router/router.go
+++ b/router/router.go
@@ -38,6 +38,7 @@
 		finenessApi.GET("register", FinenessController.List)          // 鑾峰彇绾ゅ害鐧昏鍒楄〃
 		finenessApi.DELETE("register/:id", FinenessController.Delete) // 鍒犻櫎绾ゅ害鐧昏
 		finenessApi.POST("register", FinenessController.Add)          // 鏂板绾ゅ害鐧昏
+		finenessApi.GET("register/:id", FinenessController.Info)      // 鑾峰彇绾ゅ害鐧昏璇︽儏
 	}
 
 	return r

--
Gitblit v1.8.0