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, ¶ms) + 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