From cc3f07175d93b5f4fbcc6fd8a87a563a7f8e1a7c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 15 八月 2023 14:26:27 +0800
Subject: [PATCH] 服务单批量删除接口

---
 model/serviceOrder.go   |    6 ++
 api/v1/file.go          |    2 
 model/request/common.go |    4 +
 router/serviceOrder.go  |    9 +-
 service/serviceOrder.go |    8 ++
 api/v1/serviceOrder.go  |   23 +++++++
 docs/swagger.yaml       |   30 ++++++++++
 docs/docs.go            |   47 +++++++++++++++
 docs/swagger.json       |   47 +++++++++++++++
 9 files changed, 171 insertions(+), 5 deletions(-)

diff --git a/api/v1/file.go b/api/v1/file.go
index 348a72c..bf86288 100644
--- a/api/v1/file.go
+++ b/api/v1/file.go
@@ -188,7 +188,7 @@
 	service.NewFileService().UpdateFile(file)
 
 	data, err := io.ReadAll(f)
-	c.Writer.Header().Set("Content-Type", "application/octect-stream")
+	c.Writer.Header().Set("Content-Type", "application/octet-stream")
 	c.Writer.Header().Set("Content-Disposition", "attachment;filename="+file.Name)
 	c.Writer.Write(data)
 }
diff --git a/api/v1/serviceOrder.go b/api/v1/serviceOrder.go
index f76babe..6675774 100644
--- a/api/v1/serviceOrder.go
+++ b/api/v1/serviceOrder.go
@@ -66,6 +66,29 @@
 	ctx.Ok()
 }
 
+// BatchDelete
+// @Tags		鏈嶅姟鍗曠鐞�
+// @Summary	 鎵归噺鍒犻櫎鏈嶅姟鍗�
+// @Produce	application/json
+// @Param		object	body		request.CommonIds	true	"鍙傛暟"
+// @Success	200	{object}	contextx.Response{}
+// @Router		/api/serviceOrder/delete [delete]
+func (s *ServiceOrderApi) BatchDelete(c *gin.Context) {
+	var params request.CommonIds
+	ctx, ok := contextx.NewContext(c, &params)
+	if !ok {
+		return
+	}
+
+	errCode := service.NewServiceOrderService().BatchDeleteServiceOrder(params.Ids)
+	if errCode != ecode.OK {
+		ctx.Fail(errCode)
+		return
+	}
+
+	ctx.Ok()
+}
+
 // Update
 // @Tags		鏈嶅姟鍗曠鐞�
 // @Summary	鏇存柊鏈嶅姟鍗�
diff --git a/docs/docs.go b/docs/docs.go
index 78076e2..5c448f1 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -8389,6 +8389,36 @@
                 }
             }
         },
+        "/api/serviceOrder/delete": {
+            "delete": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "鏈嶅姟鍗曠鐞�"
+                ],
+                "summary": "鎵归噺鍒犻櫎鏈嶅姟鍗�",
+                "parameters": [
+                    {
+                        "description": "鏌ヨ鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.CommonIds"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/contextx.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/api/serviceOrder/delete/{id}": {
             "delete": {
                 "produces": [
@@ -11968,6 +11998,9 @@
                 "id": {
                     "type": "integer"
                 },
+                "member": {
+                    "$ref": "#/definitions/model.User"
+                },
                 "member_id": {
                     "type": "integer"
                 },
@@ -14509,6 +14542,20 @@
                 }
             }
         },
+        "request.CommonIds": {
+            "type": "object",
+            "required": [
+                "ids"
+            ],
+            "properties": {
+                "ids": {
+                    "type": "array",
+                    "items": {
+                        "type": "integer"
+                    }
+                }
+            }
+        },
         "request.Contact": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.json b/docs/swagger.json
index fba412a..418ac07 100644
--- a/docs/swagger.json
+++ b/docs/swagger.json
@@ -8377,6 +8377,36 @@
                 }
             }
         },
+        "/api/serviceOrder/delete": {
+            "delete": {
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "鏈嶅姟鍗曠鐞�"
+                ],
+                "summary": "鎵归噺鍒犻櫎鏈嶅姟鍗�",
+                "parameters": [
+                    {
+                        "description": "鏌ヨ鍙傛暟",
+                        "name": "object",
+                        "in": "body",
+                        "required": true,
+                        "schema": {
+                            "$ref": "#/definitions/request.CommonIds"
+                        }
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "$ref": "#/definitions/contextx.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/api/serviceOrder/delete/{id}": {
             "delete": {
                 "produces": [
@@ -11956,6 +11986,9 @@
                 "id": {
                     "type": "integer"
                 },
+                "member": {
+                    "$ref": "#/definitions/model.User"
+                },
                 "member_id": {
                     "type": "integer"
                 },
@@ -14497,6 +14530,20 @@
                 }
             }
         },
+        "request.CommonIds": {
+            "type": "object",
+            "required": [
+                "ids"
+            ],
+            "properties": {
+                "ids": {
+                    "type": "array",
+                    "items": {
+                        "type": "integer"
+                    }
+                }
+            }
+        },
         "request.Contact": {
             "type": "object",
             "properties": {
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 968a045..9cb687d 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1381,6 +1381,8 @@
         type: array
       id:
         type: integer
+      member:
+        $ref: '#/definitions/model.User'
       member_id:
         type: integer
       name:
@@ -3098,6 +3100,15 @@
       pos:
         description: 鐢ㄦ埛宀椾綅
         type: string
+    type: object
+  request.CommonIds:
+    properties:
+      ids:
+        items:
+          type: integer
+        type: array
+    required:
+    - ids
     type: object
   request.Contact:
     properties:
@@ -11036,6 +11047,25 @@
       summary: 娣诲姞鏈嶅姟鍗�
       tags:
       - 鏈嶅姟鍗曠鐞�
+  /api/serviceOrder/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:
+      - 鏈嶅姟鍗曠鐞�
   /api/serviceOrder/delete/{id}:
     delete:
       parameters:
diff --git a/model/request/common.go b/model/request/common.go
index 18cadf5..db64168 100644
--- a/model/request/common.go
+++ b/model/request/common.go
@@ -22,3 +22,7 @@
 	}
 	return true
 }
+
+type CommonIds struct {
+	Ids []int `json:"ids,omitempty" binding:"required"`
+}
diff --git a/model/serviceOrder.go b/model/serviceOrder.go
index 06faa37..eaa6a75 100644
--- a/model/serviceOrder.go
+++ b/model/serviceOrder.go
@@ -136,6 +136,12 @@
 	return db.Delete(&ServiceOrder{}).Error
 }
 
+func (slf *ServiceOrderSearch) DeleteByIds(ids []int) error {
+	var db = slf.build()
+	db = db.Where("id in ?", ids)
+	return db.Delete(&ServiceOrder{}).Error
+}
+
 func (slf *ServiceOrderSearch) Update(record *ServiceOrder) error {
 	var db = slf.build()
 	return db.Updates(record).Error
diff --git a/router/serviceOrder.go b/router/serviceOrder.go
index c9db554..887af0e 100644
--- a/router/serviceOrder.go
+++ b/router/serviceOrder.go
@@ -9,9 +9,10 @@
 	ServiceOrderRouter := router.Group("serviceOrder")
 	ServiceOrderApi := v1.ServiceOrderApi{}
 	{
-		ServiceOrderRouter.POST("add", ServiceOrderApi.Add)             // 娣诲姞鏈嶅姟鍗�
-		ServiceOrderRouter.DELETE("delete/:id", ServiceOrderApi.Delete) // 鍒犻櫎鏈嶅姟鍗�
-		ServiceOrderRouter.PUT("update", ServiceOrderApi.Update)        // 鏇存柊鏈嶅姟鍗�
-		ServiceOrderRouter.POST("list", ServiceOrderApi.List)           // 鑾峰彇鏈嶅姟鍗曞垪琛�
+		ServiceOrderRouter.POST("add", ServiceOrderApi.Add)              // 娣诲姞鏈嶅姟鍗�
+		ServiceOrderRouter.DELETE("delete/:id", ServiceOrderApi.Delete)  // 鍒犻櫎鏈嶅姟鍗�
+		ServiceOrderRouter.DELETE("delete", ServiceOrderApi.BatchDelete) // 鎵归噺鍒犻櫎鏈嶅姟鍗�
+		ServiceOrderRouter.PUT("update", ServiceOrderApi.Update)         // 鏇存柊鏈嶅姟鍗�
+		ServiceOrderRouter.POST("list", ServiceOrderApi.List)            // 鑾峰彇鏈嶅姟鍗曞垪琛�
 	}
 }
diff --git a/service/serviceOrder.go b/service/serviceOrder.go
index 8de6e57..298afb2 100644
--- a/service/serviceOrder.go
+++ b/service/serviceOrder.go
@@ -30,6 +30,14 @@
 	return ecode.OK
 }
 
+func (ServiceOrderService) BatchDeleteServiceOrder(ids []int) int {
+	err := model.NewServiceOrderSearch().DeleteByIds(ids)
+	if err != nil {
+		return ecode.DBErr
+	}
+	return ecode.OK
+}
+
 func (ServiceOrderService) GetServiceOrderList(page, pageSize int, queryClass constvar.ServiceOrderQueryClass, keywordType constvar.ServiceOrderKeywordType, keyword string, serviceContractId, salesDetailsId int) ([]*model.ServiceOrder, int64, int) {
 	list, total, err := model.NewServiceOrderSearch().
 		SetPage(page, pageSize).

--
Gitblit v1.8.0