add
wangpengfei
2023-07-10 80fa90e29844947b26d41c16fb1a48516ec018f8
add

MasterOrder 销售总单
add, Delete, update, list
5个文件已添加
10个文件已修改
912 ■■■■■ 已修改文件
api/v1/index.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/masterOrder.go 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/index.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/masterOrder.go 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/quotation.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/request/masterOrder.go 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/response/response.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pkg/ecode/code.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/index.go 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
router/masterOrder.go 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/index.go 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/masterOrder.go 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
)
api/v1/masterOrder.go
New file
@@ -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, &params)
    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, &params)
    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
}
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": {
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": {
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:
model/index.go
@@ -47,6 +47,7 @@
        Possibility{},
        Status{},
        Quotation{},
        MasterOrder{},
    )
    return err
}
model/masterOrder.go
New file
@@ -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:负责人id"`
        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
}
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 报价单搜索条件
model/request/masterOrder.go
New file
@@ -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
}
model/response/response.go
@@ -125,4 +125,8 @@
    QuotationResponse struct {
        List []*model.Quotation `json:"list"`
    }
    MasterOrderResponse struct {
        List []*model.MasterOrder `json:"list"`
    }
)
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 // 删除主订单失败
)
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
}
router/masterOrder.go
New file
@@ -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)            // 获取主订单列表
    }
}
service/index.go
@@ -27,6 +27,7 @@
    PossibilityService
    StatusService
    QuotationService
    MasterOrderService
}
var ServiceGroup = new(Group)
service/masterOrder.go
New file
@@ -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
}