From 7f587a1f3535d51b1229d708514e65730d763808 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 15 八月 2023 20:26:14 +0800
Subject: [PATCH] 销售明细批量删除接口

---
 service/salesDetails.go |    8 ++
 model/salesDetails.go   |    6 ++
 api/v1/salesDetails.go  |   23 +++++++
 router/salesDetails.go  |    9 +-
 docs/swagger.yaml       |   19 ++++++
 docs/docs.go            |   30 ++++++++++
 docs/swagger.json       |   30 ++++++++++
 7 files changed, 121 insertions(+), 4 deletions(-)

diff --git a/api/v1/salesDetails.go b/api/v1/salesDetails.go
index 7a7ab52..a08a5d4 100644
--- a/api/v1/salesDetails.go
+++ b/api/v1/salesDetails.go
@@ -66,6 +66,29 @@
 	ctx.Ok()
 }
 
+// BatchDelete
+// @Tags	SalesDetails 閿�鍞槑缁�
+// @Summary	鎵归噺鍒犻櫎閿�鍞槑缁�
+// @Produce	application/json
+// @Param	object	body request.CommonIds	true "鍙傛暟"
+// @Success	200	{object}	contextx.Response{}
+// @Router		/api/salesDetails/delete [delete]
+func (s *SalesDetailsApi) BatchDelete(c *gin.Context) {
+	var params request.CommonIds
+	ctx, ok := contextx.NewContext(c, &params)
+	if !ok {
+		return
+	}
+
+	errCode := salesDetailsService.BatchDeleteSalesDetails(params.Ids)
+	if errCode != ecode.OK {
+		ctx.Fail(errCode)
+		return
+	}
+
+	ctx.Ok()
+}
+
 // Update
 //
 //	@Tags		SalesDetails
diff --git a/docs/docs.go b/docs/docs.go
index 51bc4f3..832e3d0 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -6716,6 +6716,36 @@
                 }
             }
         },
+        "/api/salesDetails/delete": {
+            "delete": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SalesDetails 閿�鍞槑缁�"
+                ],
+                "summary": "鎵归噺鍒犻櫎閿�鍞槑缁�",
+                "parameters": [
+                    {
+                        "description": "鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.CommonIds"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/contextx.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/api/salesDetails/delete/{id}": {
             "delete": {
                 "produces": [
diff --git a/docs/swagger.json b/docs/swagger.json
index 094a394..266e524 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -6704,6 +6704,36 @@
                 }
             }
         },
+        "/api/salesDetails/delete": {
+            "delete": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "SalesDetails 閿�鍞槑缁�"
+                ],
+                "summary": "鎵归噺鍒犻櫎閿�鍞槑缁�",
+                "parameters": [
+                    {
+                        "description": "鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.CommonIds"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/contextx.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/api/salesDetails/delete/{id}": {
             "delete": {
                 "produces": [
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 825d07d..7aa60ac 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -10012,6 +10012,25 @@
       summary: 娣诲姞閿�鍞槑缁�
       tags:
       - SalesDetails
+  /api/salesDetails/delete:
+    delete:
+      parameters:
+      - description: 鍙傛暟
+        in: body
+        name: object
+        required: true
+        schema:
+          $ref: '#/definitions/request.CommonIds'
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            $ref: '#/definitions/contextx.Response'
+      summary: 鎵归噺鍒犻櫎閿�鍞槑缁�
+      tags:
+      - SalesDetails 閿�鍞槑缁�
   /api/salesDetails/delete/{id}:
     delete:
       parameters:
diff --git a/model/salesDetails.go b/model/salesDetails.go
index 831b44c..1b6413a 100644
--- a/model/salesDetails.go
+++ b/model/salesDetails.go
@@ -104,6 +104,12 @@
 	return db.Delete(&SalesDetails{}).Error
 }
 
+func (slf *SalesDetailsSearch) DeleteByIds(ids []int) error {
+	var db = slf.build()
+	db = db.Where("id in ?", ids)
+	return db.Delete(&SalesDetails{}).Error
+}
+
 func (slf *SalesDetailsSearch) Update(record *SalesDetails) error {
 	var db = slf.build()
 	return db.Updates(record).Error
diff --git a/router/salesDetails.go b/router/salesDetails.go
index 01c4248..16e2db5 100644
--- a/router/salesDetails.go
+++ b/router/salesDetails.go
@@ -11,9 +11,10 @@
 	salesDetailsRouter := router.Group("salesDetails")
 	salesDetailsApi := v1.ApiGroup.SalesDetailsApi
 	{
-		salesDetailsRouter.POST("add", salesDetailsApi.Add)             // 娣诲姞閿�鍞槑缁�
-		salesDetailsRouter.DELETE("delete/:id", salesDetailsApi.Delete) // 鍒犻櫎閿�鍞槑缁�
-		salesDetailsRouter.PUT("update", salesDetailsApi.Update)        // 鏇存柊閿�鍞槑缁�
+		salesDetailsRouter.POST("add", salesDetailsApi.Add)              // 娣诲姞閿�鍞槑缁�
+		salesDetailsRouter.DELETE("delete/:id", salesDetailsApi.Delete)  // 鍒犻櫎閿�鍞槑缁�
+		salesDetailsRouter.DELETE("delete", salesDetailsApi.BatchDelete) // 鎵归噺鍒犻櫎閿�鍞槑缁�
+		salesDetailsRouter.PUT("update", salesDetailsApi.Update)         // 鏇存柊閿�鍞槑缁�
 		salesDetailsRouter.POST("list", salesDetailsApi.List)            // 鑾峰彇閿�鍞槑缁嗗崟鍒楄〃
 	}
-}
\ No newline at end of file
+}
diff --git a/service/salesDetails.go b/service/salesDetails.go
index 81e10b2..fb9b9dd 100644
--- a/service/salesDetails.go
+++ b/service/salesDetails.go
@@ -42,6 +42,14 @@
 	return ecode.OK
 }
 
+func (SalesDetailsService) BatchDeleteSalesDetails(ids []int) int {
+	err := model.NewSalesDetailsSearch().DeleteByIds(ids)
+	if err != nil {
+		return ecode.DBErr
+	}
+	return ecode.OK
+}
+
 func (SalesDetailsService) UpdateSalesDetails(salesDetails *model.SalesDetails) int {
 	// check salesDetails exist
 	old, err := model.NewSalesDetailsSearch().SetId(salesDetails.Id).First()

--
Gitblit v1.8.0