From 80fa90e29844947b26d41c16fb1a48516ec018f8 Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期一, 10 七月 2023 20:28:46 +0800 Subject: [PATCH] add --- api/v1/index.go | 2 model/request/masterOrder.go | 19 + api/v1/masterOrder.go | 158 +++++++++ service/masterOrder.go | 54 +++ pkg/ecode/code.go | 8 model/quotation.go | 1 docs/swagger.yaml | 135 ++++++++ docs/docs.go | 214 +++++++++++++ docs/swagger.json | 214 +++++++++++++ model/masterOrder.go | 80 +++++ model/response/response.go | 4 service/index.go | 1 router/masterOrder.go | 19 + model/index.go | 1 router/index.go | 2 15 files changed, 912 insertions(+), 0 deletions(-) diff --git a/api/v1/index.go b/api/v1/index.go index ccc3d5e..a226025 100644 --- a/api/v1/index.go +++ b/api/v1/index.go @@ -32,6 +32,7 @@ PossibilityApi StatusApi QuotationApi + MasterOrderApi } var ApiGroup = new(Group) @@ -63,4 +64,5 @@ possibilityService = service.ServiceGroup.PossibilityService statusService = service.ServiceGroup.StatusService quotationService = service.ServiceGroup.QuotationService + masterOrderService = service.ServiceGroup.MasterOrderService ) diff --git a/api/v1/masterOrder.go b/api/v1/masterOrder.go new file mode 100644 index 0000000..0cb3a5d --- /dev/null +++ b/api/v1/masterOrder.go @@ -0,0 +1,158 @@ +package v1 + +import ( + "aps_crm/model" + "aps_crm/model/request" + "aps_crm/model/response" + "aps_crm/pkg/contextx" + "aps_crm/pkg/ecode" + "github.com/gin-gonic/gin" + "strconv" +) + +type MasterOrderApi struct{} + +// Add +// +// @Tags MasterOrder +// @Summary 娣诲姞涓昏鍗� +// @Produce application/json +// @Param object body request.AddMasterOrder true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/masterOrder/add [post] +func (s *MasterOrderApi) Add(c *gin.Context) { + var params request.AddMasterOrder + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + errCode, masterOrder := checkMasterOrderParams(params.MasterOrder) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + errCode = masterOrderService.AddMasterOrder(&masterOrder) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Delete +// +// @Tags MasterOrder +// @Summary 鍒犻櫎涓昏鍗� +// @Produce application/json +// @Param id path int true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/masterOrder/delete/{id} [delete] +func (s *MasterOrderApi) Delete(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + + id, _ := strconv.Atoi(c.Param("id")) + errCode := masterOrderService.DeleteMasterOrder(id) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// Update +// +// @Tags MasterOrder +// @Summary 鏇存柊涓昏鍗� +// @Produce application/json +// @Param object body request.UpdateMasterOrder true "鏌ヨ鍙傛暟" +// @Success 200 {object} contextx.Response{} +// @Router /api/masterOrder/update [put] +func (s *MasterOrderApi) Update(c *gin.Context) { + var params request.UpdateMasterOrder + ctx, ok := contextx.NewContext(c, ¶ms) + if !ok { + return + } + + errCode, masterOrder := checkMasterOrderParams(params.MasterOrder) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + masterOrder.Id = params.Id + + errCode = masterOrderService.UpdateMasterOrder(&masterOrder) + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.Ok() +} + +// List +// +// @Tags MasterOrder +// @Summary 涓昏鍗曞垪琛� +// @Produce application/json +// @Success 200 {object} contextx.Response{data=response.MasterOrderResponse} +// @Router /api/masterOrder/list [get] +func (s *MasterOrderApi) List(c *gin.Context) { + ctx, ok := contextx.NewContext(c, nil) + if !ok { + return + } + + list, errCode := masterOrderService.GetMasterOrderList() + if errCode != ecode.OK { + ctx.Fail(errCode) + return + } + + ctx.OkWithDetailed(response.MasterOrderResponse{ + List: list, + }) +} + +// checkMasterOrderParams +// 妫�鏌ヤ富璁㈠崟鍙傛暟 +func checkMasterOrderParams(masterOrder request.MasterOrder) (errCode int, masterOrderModel model.MasterOrder) { + if masterOrder.Number == "" { + return ecode.InvalidParams, masterOrderModel + } + + if masterOrder.MemberId == 0 { + return ecode.InvalidParams, masterOrderModel + } + + t, err := checkTimeFormat(masterOrder.StartTime) + if err != nil { + return ecode.InvalidParams, masterOrderModel + } + masterOrderModel.StartTime = t + + t, err = checkTimeFormat(masterOrder.EndTime) + if err != nil { + return ecode.InvalidParams, masterOrderModel + } + masterOrderModel.EndTime = t + + masterOrderModel.Number = masterOrder.Number + masterOrderModel.MemberId = masterOrder.MemberId + masterOrderModel.ClientId = masterOrder.ClientId + f, err := strconv.ParseFloat(masterOrder.Money, 64) + if err != nil { + return ecode.InvalidParams, masterOrderModel + } + masterOrderModel.Money = f + + return ecode.OK, masterOrderModel +} diff --git a/docs/docs.go b/docs/docs.go index 9a8241c..d9ffe10 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -1580,6 +1580,125 @@ } } }, + "/api/masterOrder/add": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "娣诲姞涓昏鍗�", + "parameters": [ + { + "description": "鏌ヨ鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.AddMasterOrder" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/contextx.Response" + } + } + } + } + }, + "/api/masterOrder/delete/{id}": { + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "鍒犻櫎涓昏鍗�", + "parameters": [ + { + "type": "integer", + "description": "鏌ヨ鍙傛暟", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/contextx.Response" + } + } + } + } + }, + "/api/masterOrder/list": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "涓昏鍗曞垪琛�", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/contextx.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/response.MasterOrderResponse" + } + } + } + ] + } + } + } + } + }, + "/api/masterOrder/update": { + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "鏇存柊涓昏鍗�", + "parameters": [ + { + "description": "鏌ヨ鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UpdateMasterOrder" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/contextx.Response" + } + } + } + } + }, "/api/possibility/add": { "post": { "produces": [ @@ -3789,6 +3908,32 @@ } } }, + "model.MasterOrder": { + "type": "object", + "properties": { + "client_id": { + "type": "integer" + }, + "end_time": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "member_id": { + "type": "integer" + }, + "money": { + "type": "number" + }, + "number": { + "type": "string" + }, + "start_time": { + "type": "string" + } + } + }, "model.Possibility": { "type": "object", "properties": { @@ -3820,11 +3965,17 @@ "model.Quotation": { "type": "object", "properties": { + "client": { + "$ref": "#/definitions/model.Client" + }, "client_id": { "type": "integer" }, "conditions": { "type": "string" + }, + "contact": { + "$ref": "#/definitions/model.Contact" }, "contact_id": { "type": "integer" @@ -3843,6 +3994,9 @@ }, "quotation_status_id": { "type": "integer" + }, + "sale_chance": { + "$ref": "#/definitions/model.SaleChance" }, "sale_chance_id": { "type": "integer" @@ -4426,6 +4580,29 @@ ], "properties": { "name": { + "type": "string" + } + } + }, + "request.AddMasterOrder": { + "type": "object", + "properties": { + "client_id": { + "type": "integer" + }, + "end_time": { + "type": "string" + }, + "member_id": { + "type": "integer" + }, + "money": { + "type": "string" + }, + "number": { + "type": "string" + }, + "start_time": { "type": "string" } } @@ -5406,6 +5583,32 @@ } } }, + "request.UpdateMasterOrder": { + "type": "object", + "properties": { + "client_id": { + "type": "integer" + }, + "end_time": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "member_id": { + "type": "integer" + }, + "money": { + "type": "string" + }, + "number": { + "type": "string" + }, + "start_time": { + "type": "string" + } + } + }, "request.UpdatePossibilities": { "type": "object", "required": [ @@ -5990,6 +6193,17 @@ } } }, + "response.MasterOrderResponse": { + "type": "object", + "properties": { + "list": { + "type": "array", + "items": { + "$ref": "#/definitions/model.MasterOrder" + } + } + } + }, "response.PageResult": { "type": "object", "properties": { diff --git a/docs/swagger.json b/docs/swagger.json index f5a60ea..c0e0598 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -1568,6 +1568,125 @@ } } }, + "/api/masterOrder/add": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "娣诲姞涓昏鍗�", + "parameters": [ + { + "description": "鏌ヨ鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.AddMasterOrder" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/contextx.Response" + } + } + } + } + }, + "/api/masterOrder/delete/{id}": { + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "鍒犻櫎涓昏鍗�", + "parameters": [ + { + "type": "integer", + "description": "鏌ヨ鍙傛暟", + "name": "id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/contextx.Response" + } + } + } + } + }, + "/api/masterOrder/list": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "涓昏鍗曞垪琛�", + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/contextx.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/response.MasterOrderResponse" + } + } + } + ] + } + } + } + } + }, + "/api/masterOrder/update": { + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "MasterOrder" + ], + "summary": "鏇存柊涓昏鍗�", + "parameters": [ + { + "description": "鏌ヨ鍙傛暟", + "name": "object", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.UpdateMasterOrder" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/contextx.Response" + } + } + } + } + }, "/api/possibility/add": { "post": { "produces": [ @@ -3777,6 +3896,32 @@ } } }, + "model.MasterOrder": { + "type": "object", + "properties": { + "client_id": { + "type": "integer" + }, + "end_time": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "member_id": { + "type": "integer" + }, + "money": { + "type": "number" + }, + "number": { + "type": "string" + }, + "start_time": { + "type": "string" + } + } + }, "model.Possibility": { "type": "object", "properties": { @@ -3808,11 +3953,17 @@ "model.Quotation": { "type": "object", "properties": { + "client": { + "$ref": "#/definitions/model.Client" + }, "client_id": { "type": "integer" }, "conditions": { "type": "string" + }, + "contact": { + "$ref": "#/definitions/model.Contact" }, "contact_id": { "type": "integer" @@ -3831,6 +3982,9 @@ }, "quotation_status_id": { "type": "integer" + }, + "sale_chance": { + "$ref": "#/definitions/model.SaleChance" }, "sale_chance_id": { "type": "integer" @@ -4414,6 +4568,29 @@ ], "properties": { "name": { + "type": "string" + } + } + }, + "request.AddMasterOrder": { + "type": "object", + "properties": { + "client_id": { + "type": "integer" + }, + "end_time": { + "type": "string" + }, + "member_id": { + "type": "integer" + }, + "money": { + "type": "string" + }, + "number": { + "type": "string" + }, + "start_time": { "type": "string" } } @@ -5394,6 +5571,32 @@ } } }, + "request.UpdateMasterOrder": { + "type": "object", + "properties": { + "client_id": { + "type": "integer" + }, + "end_time": { + "type": "string" + }, + "id": { + "type": "integer" + }, + "member_id": { + "type": "integer" + }, + "money": { + "type": "string" + }, + "number": { + "type": "string" + }, + "start_time": { + "type": "string" + } + } + }, "request.UpdatePossibilities": { "type": "object", "required": [ @@ -5978,6 +6181,17 @@ } } }, + "response.MasterOrderResponse": { + "type": "object", + "properties": { + "list": { + "type": "array", + "items": { + "$ref": "#/definitions/model.MasterOrder" + } + } + } + }, "response.PageResult": { "type": "object", "properties": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index d6bb274..176ac93 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -331,6 +331,23 @@ name: type: string type: object + model.MasterOrder: + properties: + client_id: + type: integer + end_time: + type: string + id: + type: integer + member_id: + type: integer + money: + type: number + number: + type: string + start_time: + type: string + type: object model.Possibility: properties: id: @@ -351,10 +368,14 @@ type: object model.Quotation: properties: + client: + $ref: '#/definitions/model.Client' client_id: type: integer conditions: type: string + contact: + $ref: '#/definitions/model.Contact' contact_id: type: integer file: @@ -367,6 +388,8 @@ type: string quotation_status_id: type: integer + sale_chance: + $ref: '#/definitions/model.SaleChance' sale_chance_id: type: integer validity_date: @@ -763,6 +786,21 @@ type: string required: - name + type: object + request.AddMasterOrder: + properties: + client_id: + type: integer + end_time: + type: string + member_id: + type: integer + money: + type: string + number: + type: string + start_time: + type: string type: object request.AddPossibility: properties: @@ -1434,6 +1472,23 @@ - id - name type: object + request.UpdateMasterOrder: + properties: + client_id: + type: integer + end_time: + type: string + id: + type: integer + member_id: + type: integer + money: + type: string + number: + type: string + start_time: + type: string + type: object request.UpdatePossibilities: properties: possibilities: @@ -1818,6 +1873,13 @@ type: string user: $ref: '#/definitions/model.User' + type: object + response.MasterOrderResponse: + properties: + list: + items: + $ref: '#/definitions/model.MasterOrder' + type: array type: object response.PageResult: properties: @@ -2861,6 +2923,79 @@ summary: 鏇存柊琛屼笟 tags: - Industry + /api/masterOrder/add: + post: + parameters: + - description: 鏌ヨ鍙傛暟 + in: body + name: object + required: true + schema: + $ref: '#/definitions/request.AddMasterOrder' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/contextx.Response' + summary: 娣诲姞涓昏鍗� + tags: + - MasterOrder + /api/masterOrder/delete/{id}: + delete: + parameters: + - description: 鏌ヨ鍙傛暟 + in: path + name: id + required: true + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/contextx.Response' + summary: 鍒犻櫎涓昏鍗� + tags: + - MasterOrder + /api/masterOrder/list: + get: + produces: + - application/json + responses: + "200": + description: OK + schema: + allOf: + - $ref: '#/definitions/contextx.Response' + - properties: + data: + $ref: '#/definitions/response.MasterOrderResponse' + type: object + summary: 涓昏鍗曞垪琛� + tags: + - MasterOrder + /api/masterOrder/update: + put: + parameters: + - description: 鏌ヨ鍙傛暟 + in: body + name: object + required: true + schema: + $ref: '#/definitions/request.UpdateMasterOrder' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/contextx.Response' + summary: 鏇存柊涓昏鍗� + tags: + - MasterOrder /api/possibility/add: post: parameters: diff --git a/model/index.go b/model/index.go index 584e114..cda1221 100644 --- a/model/index.go +++ b/model/index.go @@ -47,6 +47,7 @@ Possibility{}, Status{}, Quotation{}, + MasterOrder{}, ) return err } diff --git a/model/masterOrder.go b/model/masterOrder.go new file mode 100644 index 0000000..bd0a02c --- /dev/null +++ b/model/masterOrder.go @@ -0,0 +1,80 @@ +package model + +import ( + "aps_crm/pkg/mysqlx" + "gorm.io/gorm" + "time" +) + +type ( + // MasterOrder 閿�鍞�诲崟 + MasterOrder struct { + Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` + Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞�诲崟鍙�"` + ClientId int `json:"client_id" gorm:"column:client_id;type:int;comment:瀹㈡埛id"` + MemberId int `json:"member_id" gorm:"column:member_id;type:int;comment:璐熻矗浜篿d"` + StartTime time.Time `json:"start_time" gorm:"column:start_time;type:datetime;comment:寮�濮嬫椂闂�"` + EndTime time.Time `json:"end_time" gorm:"column:end_time;type:datetime;comment:缁撴潫鏃堕棿"` + Money float64 `json:"money" gorm:"column:money;type:decimal(10,2);comment:鎬婚噾棰�"` + gorm.Model `json:"-"` + } + + // MasterOrderSearch 閿�鍞�诲崟鎼滅储鏉′欢 + MasterOrderSearch struct { + MasterOrder + Orm *gorm.DB + } +) + +func (MasterOrder) TableName() string { + return "master_order" +} + +func NewMasterOrderSearch() *MasterOrderSearch { + return &MasterOrderSearch{ + Orm: mysqlx.GetDB(), + } +} + +func (slf *MasterOrderSearch) build() *gorm.DB { + var db = slf.Orm.Model(&MasterOrder{}) + if slf.Id != 0 { + db = db.Where("id = ?", slf.Id) + } + + return db +} + +func (slf *MasterOrderSearch) Create(record *MasterOrder) error { + var db = slf.build() + return db.Create(record).Error +} + +func (slf *MasterOrderSearch) Delete() error { + var db = slf.build() + return db.Delete(&MasterOrder{}).Error +} + +func (slf *MasterOrderSearch) Update(record *MasterOrder) error { + var db = slf.build() + return db.Updates(record).Error +} + +func (slf *MasterOrderSearch) Find() (*MasterOrder, error) { + var db = slf.build() + var record = new(MasterOrder) + err := db.First(record).Error + return record, err +} + +func (slf *MasterOrderSearch) FindAll() ([]*MasterOrder, error) { + var db = slf.build() + var records = make([]*MasterOrder, 0) + err := db.Find(&records).Error + return records, err +} + +func (slf *MasterOrderSearch) SetId(id int) *MasterOrderSearch { + slf.Id = id + return slf +} diff --git a/model/quotation.go b/model/quotation.go index d5fdec8..878f211 100644 --- a/model/quotation.go +++ b/model/quotation.go @@ -22,6 +22,7 @@ Client Client `json:"client" gorm:"foreignKey:ClientId"` Contact Contact `json:"contact" gorm:"foreignKey:ContactId"` SaleChance SaleChance `json:"sale_chance" gorm:"foreignKey:SaleChanceId"` + gorm.Model `json:"-"` } // QuotationSearch 鎶ヤ环鍗曟悳绱㈡潯浠� diff --git a/model/request/masterOrder.go b/model/request/masterOrder.go new file mode 100644 index 0000000..f024b3c --- /dev/null +++ b/model/request/masterOrder.go @@ -0,0 +1,19 @@ +package request + +type AddMasterOrder struct { + MasterOrder +} + +type MasterOrder struct { + Number string `json:"number"` + ClientId int `json:"client_id"` + MemberId int `json:"member_id"` + StartTime string `json:"start_time"` + EndTime string `json:"end_time"` + Money string `json:"money"` +} + +type UpdateMasterOrder struct { + Id int `json:"id"` + MasterOrder +} diff --git a/model/response/response.go b/model/response/response.go index 51423c7..2142098 100644 --- a/model/response/response.go +++ b/model/response/response.go @@ -125,4 +125,8 @@ QuotationResponse struct { List []*model.Quotation `json:"list"` } + + MasterOrderResponse struct { + List []*model.MasterOrder `json:"list"` + } ) diff --git a/pkg/ecode/code.go b/pkg/ecode/code.go index d0f5a81..e16bafd 100644 --- a/pkg/ecode/code.go +++ b/pkg/ecode/code.go @@ -183,4 +183,12 @@ QuotationSetErr = 2500004 // 璁剧疆鎶ヤ环鍗曞け璐� QuotationUpdateErr = 2500005 // 鏇存柊鎶ヤ环鍗曞け璐� QuotationDeleteErr = 2500006 // 鍒犻櫎鎶ヤ环鍗曞け璐� + + MasterOrderExist = 2600001 // 涓昏鍗曞凡瀛樺湪 + MasterOrderNotExist = 2600002 // 涓昏鍗曚笉瀛樺湪 + MasterOrderListErr = 2600003 // 鑾峰彇涓昏鍗曞垪琛ㄥけ璐� + MasterOrderSetErr = 2600004 // 璁剧疆涓昏鍗曞け璐� + MasterOrderUpdateErr = 2600005 // 鏇存柊涓昏鍗曞け璐� + MasterOrderDeleteErr = 2600006 // 鍒犻櫎涓昏鍗曞け璐� + ) diff --git a/router/index.go b/router/index.go index be18007..9346158 100644 --- a/router/index.go +++ b/router/index.go @@ -38,6 +38,7 @@ PossibilityRouter StatusRouter QuotationRouter + MasterOrderRouter } func InitRouter() *gin.Engine { @@ -93,6 +94,7 @@ routerGroup.InitPossibilityRouter(PrivateGroup) // 娉ㄥ唽possibility璺敱 routerGroup.InitStatusRouter(PrivateGroup) // 娉ㄥ唽status璺敱 routerGroup.InitQuotationRouter(PrivateGroup) // 娉ㄥ唽quotation璺敱 + routerGroup.InitMasterOrderRouter(PrivateGroup) // 娉ㄥ唽masterOrder璺敱 } return Router } diff --git a/router/masterOrder.go b/router/masterOrder.go new file mode 100644 index 0000000..d3d4cf6 --- /dev/null +++ b/router/masterOrder.go @@ -0,0 +1,19 @@ +package router + +import ( + v1 "aps_crm/api/v1" + "github.com/gin-gonic/gin" +) + +type MasterOrderRouter struct{} + +func (s *MasterOrderRouter) InitMasterOrderRouter(router *gin.RouterGroup) { + masterOrderRouter := router.Group("masterOrder") + masterOrderApi := v1.ApiGroup.MasterOrderApi + { + masterOrderRouter.POST("add", masterOrderApi.Add) // 娣诲姞涓昏鍗� + masterOrderRouter.DELETE("delete/:id", masterOrderApi.Delete) // 鍒犻櫎涓昏鍗� + masterOrderRouter.PUT("update", masterOrderApi.Update) // 鏇存柊涓昏鍗� + masterOrderRouter.GET("list", masterOrderApi.List) // 鑾峰彇涓昏鍗曞垪琛� + } +} diff --git a/service/index.go b/service/index.go index c055e22..26577e4 100644 --- a/service/index.go +++ b/service/index.go @@ -27,6 +27,7 @@ PossibilityService StatusService QuotationService + MasterOrderService } var ServiceGroup = new(Group) diff --git a/service/masterOrder.go b/service/masterOrder.go new file mode 100644 index 0000000..c1255a1 --- /dev/null +++ b/service/masterOrder.go @@ -0,0 +1,54 @@ +package service + +import ( + "aps_crm/model" + "aps_crm/pkg/ecode" +) + +type MasterOrderService struct{} + +func (MasterOrderService) AddMasterOrder(masterOrder *model.MasterOrder) int { + err := model.NewMasterOrderSearch().Create(masterOrder) + if err != nil { + return ecode.MasterOrderExist + } + + return ecode.OK +} + +func (MasterOrderService) DeleteMasterOrder(id int) int { + _, err := model.NewMasterOrderSearch().SetId(id).Find() + if err != nil { + return ecode.MasterOrderNotExist + } + + err = model.NewMasterOrderSearch().SetId(id).Delete() + if err != nil { + return ecode.MasterOrderNotExist + } + return ecode.OK +} + +func (MasterOrderService) GetMasterOrderList() ([]*model.MasterOrder, int) { + list, err := model.NewMasterOrderSearch().FindAll() + if err != nil { + return nil, ecode.MasterOrderListErr + } + + return list, ecode.OK +} + +func (MasterOrderService) UpdateMasterOrder(masterOrder *model.MasterOrder) int { + // check masterOrder exist + _, err := model.NewMasterOrderSearch().SetId(masterOrder.Id).Find() + if err != nil { + return ecode.MasterOrderNotExist + } + + err = model.NewMasterOrderSearch().SetId(masterOrder.Id).Update(masterOrder) + if err != nil { + return ecode.MasterOrderSetErr + } + + return ecode.OK +} -- Gitblit v1.8.0