fix
wangpengfei
2023-07-19 4eb798070f2926d976d0f28b64c36da805890ee6
fix

Remove all parameter checks
22个文件已修改
724 ■■■■■ 已修改文件
api/v1/client.go 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/contact.go 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/contract.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/customerServiceSheet.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/followRecord.go 73 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/masterOrder.go 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/orderManage.go 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/plan.go 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/qutation.go 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/saleChance.go 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/salesDetails.go 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/salesLeads.go 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/salesRefund.go 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/salesReturn.go 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/serviceContracts.go 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/serviceFeeManage.go 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/serviceFollowup.go 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/subOrder.go 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/request/subOrder.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/client.go
@@ -68,20 +68,20 @@
func checkClientParams(params request.Client) (int, *model.Client) {
    client := new(model.Client)
    if params.Name == "" {
        return ecode.InvalidParams, nil
    }
    //if params.Name == "" {
    //    return ecode.InvalidParams, nil
    //}
    client.Name = params.Name
    if params.ClientStatusId == 0 {
        return ecode.InvalidParams, nil
    }
    client.ClientStatusId = params.ClientStatusId
    if params.MemberId == 0 {
        return ecode.InvalidParams, nil
    }
    //if params.ClientStatusId == 0 {
    //    return ecode.InvalidParams, nil
    //}
    //client.ClientStatusId = params.ClientStatusId
    //
    //if params.MemberId == 0 {
    //    return ecode.InvalidParams, nil
    //}
    client.MemberId = params.MemberId
    t, err := checkTimeFormat(params.NextVisitTime)
api/v1/contact.go
@@ -131,18 +131,18 @@
func checkContactParams(params request.Contact) (int, model.Contact) {
    var contact model.Contact
    // name not empty
    if params.Name == "" {
        return ecode.InvalidParams, contact
    }
    //if params.Name == "" {
    //    return ecode.InvalidParams, contact
    //}
    contact.Name = params.Name
    contact.Phone = params.Phone
    contact.Email = params.Email
    // check member id not -1
    if params.MemberId == 0 {
        return ecode.InvalidParams, contact
    }
    //if params.MemberId == 0 {
    //    return ecode.InvalidParams, contact
    //}
    contact.MemberId = params.MemberId
    contact.ProvinceId = params.ProvinceId
@@ -154,9 +154,9 @@
    contact.Desc = params.Desc
    // check number not empty
    if params.Number == "" {
        return ecode.InvalidParams, contact
    }
    //if params.Number == "" {
    //    return ecode.InvalidParams, contact
    //}
    contact.Number = params.Number
    t, err := checkTimeFormat(params.Birthday)
api/v1/contract.go
@@ -121,13 +121,13 @@
}
func checkContractParams(contract request.Contract) (errCode int, contractModel model.Contract) {
    if contract.Number == "" {
        return ecode.InvalidParams, contractModel
    }
    //if contract.Number == "" {
    //    return ecode.InvalidParams, contractModel
    //}
    if contract.MemberId == 0 {
        return ecode.InvalidParams, contractModel
    }
    //if contract.MemberId == 0 {
    //    return ecode.InvalidParams, contractModel
    //}
    contractModel = model.Contract{
        ClientId:    contract.ClientId,
api/v1/customerServiceSheet.go
@@ -122,13 +122,13 @@
// checkCustomerServiceSheetParams
func checkCustomerServiceSheetParams(customerServiceSheet request.CustomerServiceSheet) (errCode int, newCustomerServiceSheet model.CustomerServiceSheet) {
    if customerServiceSheet.Number == "" {
        return ecode.InvalidParams, model.CustomerServiceSheet{}
    }
    //if customerServiceSheet.Number == "" {
    //    return ecode.InvalidParams, model.CustomerServiceSheet{}
    //}
    if customerServiceSheet.MemberId == 0 {
        return ecode.InvalidParams, model.CustomerServiceSheet{}
    }
    //if customerServiceSheet.MemberId == 0 {
    //    return ecode.InvalidParams, model.CustomerServiceSheet{}
    //}
    newCustomerServiceSheet = model.CustomerServiceSheet{
        Number:       customerServiceSheet.Number,
api/v1/followRecord.go
@@ -6,7 +6,6 @@
    "aps_crm/model/response"
    "aps_crm/pkg/contextx"
    "aps_crm/pkg/ecode"
    "aps_crm/service"
    "github.com/gin-gonic/gin"
    "strconv"
    "time"
@@ -128,42 +127,42 @@
func checkFollowRecordParams(followRecord request.FollowRecord) (int, *model.FollowRecord) {
    var followRecordModel model.FollowRecord
    if followRecord.ClientId != 0 {
        // check client exist
        if service.CheckClientExist(followRecord.ClientId) != ecode.OK {
            return ecode.ClientNotExist, &followRecordModel
        }
    }
    if followRecord.ContactId != 0 {
        // check contact exist
        if service.CheckContactExist(followRecord.ContactId) != ecode.OK {
            return ecode.ContactNotExist, &followRecordModel
        }
    }
    if followRecord.SalesLeadsId != 0 {
        // check sales leads exist
        if service.CheckSalesLeadsExist(followRecord.SalesLeadsId) != ecode.OK {
            return ecode.SalesLeadsNotExist, &followRecordModel
        }
    }
    // check member id
    if followRecord.MemberId == 0 {
        // todo check member exist
        return ecode.InvalidParams, &followRecordModel
    }
    // check number
    if followRecord.Number == "" {
        return ecode.InvalidParams, &followRecordModel
    }
    // check follow content
    if followRecord.Content == "" {
        return ecode.InvalidParams, &followRecordModel
    }
    //if followRecord.ClientId != 0 {
    //    // check client exist
    //    if service.CheckClientExist(followRecord.ClientId) != ecode.OK {
    //        return ecode.ClientNotExist, &followRecordModel
    //    }
    //}
    //
    //if followRecord.ContactId != 0 {
    //    // check contact exist
    //    if service.CheckContactExist(followRecord.ContactId) != ecode.OK {
    //        return ecode.ContactNotExist, &followRecordModel
    //    }
    //}
    //
    //if followRecord.SalesLeadsId != 0 {
    //    // check sales leads exist
    //    if service.CheckSalesLeadsExist(followRecord.SalesLeadsId) != ecode.OK {
    //        return ecode.SalesLeadsNotExist, &followRecordModel
    //    }
    //}
    //
    //// check member id
    //if followRecord.MemberId == 0 {
    //    // todo check member exist
    //    return ecode.InvalidParams, &followRecordModel
    //}
    //
    //// check number
    //if followRecord.Number == "" {
    //    return ecode.InvalidParams, &followRecordModel
    //}
    //
    //// check follow content
    //if followRecord.Content == "" {
    //    return ecode.InvalidParams, &followRecordModel
    //}
    // check follow time
    t, err := checkTimeFormat(followRecord.FollowTime)
api/v1/masterOrder.go
@@ -125,13 +125,13 @@
// 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
    }
    //if masterOrder.Number == "" {
    //    return ecode.InvalidParams, masterOrderModel
    //}
    //
    //if masterOrder.MemberId == 0 {
    //    return ecode.InvalidParams, masterOrderModel
    //}
    t, err := checkTimeFormat(masterOrder.StartTime)
    if err != nil {
api/v1/orderManage.go
@@ -123,21 +123,21 @@
// checkOrderManageParams
func checkOrderManageParams(orderManage request.OrderManage) (int, model.OrderManage) {
    // check orderManage exist
    if orderManage.ClientId == 0 {
        return ecode.InvalidParams, model.OrderManage{}
    }
    if orderManage.Number == "" {
        return ecode.InvalidParams, model.OrderManage{}
    }
    if orderManage.ProblemDescription == "" {
        return ecode.InvalidParams, model.OrderManage{}
    }
    if orderManage.OrderType == 0 {
        return ecode.InvalidParams, model.OrderManage{}
    }
    //if orderManage.ClientId == 0 {
    //    return ecode.InvalidParams, model.OrderManage{}
    //}
    //
    //if orderManage.Number == "" {
    //    return ecode.InvalidParams, model.OrderManage{}
    //}
    //
    //if orderManage.ProblemDescription == "" {
    //    return ecode.InvalidParams, model.OrderManage{}
    //}
    //
    //if orderManage.OrderType == 0 {
    //    return ecode.InvalidParams, model.OrderManage{}
    //}
    return ecode.OK, model.OrderManage{
        Name:               orderManage.Name,
api/v1/plan.go
@@ -121,13 +121,13 @@
}
func checkPlanParams(plan request.Plan) (errCode int, p model.Plan) {
    if plan.Number == "" {
        return ecode.InvalidParams, p
    }
    if plan.MemberId == 0 {
        return ecode.InvalidParams, p
    }
    //if plan.Number == "" {
    //    return ecode.InvalidParams, p
    //}
    //
    //if plan.MemberId == 0 {
    //    return ecode.InvalidParams, p
    //}
    t, err := checkTimeFormat(plan.StartTime)
    if err != nil {
api/v1/qutation.go
@@ -127,25 +127,25 @@
    var errCode int
    var quotationModel model.Quotation
    if quotation.ClientId == 0 {
        errCode = ecode.InvalidParams
        return errCode, quotationModel
    }
    if quotation.QuotationStatusId == 0 {
        errCode = ecode.InvalidParams
        return errCode, quotationModel
    }
    if quotation.Number == "" {
        errCode = ecode.InvalidParams
        return errCode, quotationModel
    }
    if quotation.MemberId == 0 {
        errCode = ecode.InvalidParams
        return errCode, quotationModel
    }
    //if quotation.ClientId == 0 {
    //    errCode = ecode.InvalidParams
    //    return errCode, quotationModel
    //}
    //
    //if quotation.QuotationStatusId == 0 {
    //    errCode = ecode.InvalidParams
    //    return errCode, quotationModel
    //}
    //
    //if quotation.Number == "" {
    //    errCode = ecode.InvalidParams
    //    return errCode, quotationModel
    //}
    //
    //if quotation.MemberId == 0 {
    //    errCode = ecode.InvalidParams
    //    return errCode, quotationModel
    //}
    t, err := checkTimeFormat(quotation.ValidityDate)
    if err != nil {
api/v1/saleChance.go
@@ -135,35 +135,35 @@
    var errCode int
    var sc model.SaleChance
    if saleChance.Name == "" {
        errCode = ecode.InvalidParams
        return errCode, sc
    }
    if saleChance.Number == "" {
        errCode = ecode.InvalidParams
        return errCode, sc
    }
    if saleChance.MemberId == 0 {
        errCode = ecode.InvalidParams
        return errCode, sc
    }
    if saleChance.Currency == 0 {
        errCode = ecode.InvalidParams
        return errCode, sc
    }
    if saleChance.ExpectedTime == "" {
        errCode = ecode.InvalidParams
        return errCode, sc
    }
    if saleChance.ProjectedAmount == 0 {
        errCode = ecode.InvalidParams
        return errCode, sc
    }
    //if saleChance.Name == "" {
    //    errCode = ecode.InvalidParams
    //    return errCode, sc
    //}
    //
    //if saleChance.Number == "" {
    //    errCode = ecode.InvalidParams
    //    return errCode, sc
    //}
    //
    //if saleChance.MemberId == 0 {
    //    errCode = ecode.InvalidParams
    //    return errCode, sc
    //}
    //
    //if saleChance.Currency == 0 {
    //    errCode = ecode.InvalidParams
    //    return errCode, sc
    //}
    //
    //if saleChance.ExpectedTime == "" {
    //    errCode = ecode.InvalidParams
    //    return errCode, sc
    //}
    //
    //if saleChance.ProjectedAmount == 0 {
    //    errCode = ecode.InvalidParams
    //    return errCode, sc
    //}
    t, err := checkTimeFormat(saleChance.ExpectedTime)
    if err != nil {
api/v1/salesDetails.go
@@ -121,21 +121,21 @@
}
func checkSalesDetailsParams(salesDetails request.SalesDetails) (errCode int, salesDetailsModel model.SalesDetails) {
    if salesDetails.ClientId == 0 {
        return ecode.InvalidParams, salesDetailsModel
    }
    if salesDetails.Number == "" {
        return ecode.InvalidParams, salesDetailsModel
    }
    if salesDetails.MemberId == 0 {
        return ecode.InvalidParams, salesDetailsModel
    }
    if salesDetails.SignTime == "" {
        return ecode.InvalidParams, salesDetailsModel
    }
    //if salesDetails.ClientId == 0 {
    //    return ecode.InvalidParams, salesDetailsModel
    //}
    //
    //if salesDetails.Number == "" {
    //    return ecode.InvalidParams, salesDetailsModel
    //}
    //
    //if salesDetails.MemberId == 0 {
    //    return ecode.InvalidParams, salesDetailsModel
    //}
    //
    //if salesDetails.SignTime == "" {
    //    return ecode.InvalidParams, salesDetailsModel
    //}
    t, err := checkTimeFormat(salesDetails.SignTime)
    if err != nil {
api/v1/salesLeads.go
@@ -124,21 +124,21 @@
}
func checkSalesLeadsParams(params request.SalesLeads) (errCode int, salesLeads model.SalesLeads) {
    if params.Name == "" {
        return ecode.InvalidParams, salesLeads
    }
    if params.Number == "" {
        return ecode.InvalidParams, salesLeads
    }
    if params.SalesSourcesId == 0 {
        return ecode.InvalidParams, salesLeads
    }
    if params.MemberId == 0 {
        return ecode.InvalidParams, salesLeads
    }
    //if params.Name == "" {
    //    return ecode.InvalidParams, salesLeads
    //}
    //
    //if params.Number == "" {
    //    return ecode.InvalidParams, salesLeads
    //}
    //
    //if params.SalesSourcesId == 0 {
    //    return ecode.InvalidParams, salesLeads
    //}
    //
    //if params.MemberId == 0 {
    //    return ecode.InvalidParams, salesLeads
    //}
    salesLeads = model.SalesLeads{
        Name:            params.Name,
api/v1/salesRefund.go
@@ -124,21 +124,21 @@
}
func checkSalesRefundParams(salesRefund request.SalesRefund) (errCode int, salesRefundRes model.SalesRefund) {
    if salesRefund.ClientId == 0 {
        return ecode.InvalidParams, salesRefundRes
    }
    if salesRefund.Number == "" {
        return ecode.InvalidParams, salesRefundRes
    }
    if salesRefund.MemberId == 0 {
        return ecode.InvalidParams, salesRefundRes
    }
    if salesRefund.RefundDate == "" {
        return ecode.InvalidParams, salesRefundRes
    }
    //if salesRefund.ClientId == 0 {
    //    return ecode.InvalidParams, salesRefundRes
    //}
    //
    //if salesRefund.Number == "" {
    //    return ecode.InvalidParams, salesRefundRes
    //}
    //
    //if salesRefund.MemberId == 0 {
    //    return ecode.InvalidParams, salesRefundRes
    //}
    //
    //if salesRefund.RefundDate == "" {
    //    return ecode.InvalidParams, salesRefundRes
    //}
    t, err := checkTimeFormat(salesRefund.RefundDate)
    if err != nil {
api/v1/salesReturn.go
@@ -124,17 +124,17 @@
}
func checkSalesReturnParams(salesReturn request.SalesReturn) (errCode int, s model.SalesReturn) {
    if salesReturn.Number == "" {
        return ecode.InvalidParams, s
    }
    if salesReturn.Repository == "" {
        return ecode.InvalidParams, s
    }
    if salesReturn.MemberId == 0 {
        return ecode.InvalidParams, s
    }
    //if salesReturn.Number == "" {
    //    return ecode.InvalidParams, s
    //}
    //
    //if salesReturn.Repository == "" {
    //    return ecode.InvalidParams, s
    //}
    //
    //if salesReturn.MemberId == 0 {
    //    return ecode.InvalidParams, s
    //}
    t, err := checkTimeFormat(salesReturn.ReturnDate)
    if err != nil {
api/v1/serviceContracts.go
@@ -124,17 +124,17 @@
// check params
func checkServiceContractParams(serviceContract request.ServiceContract) (errCode int, result model.ServiceContract) {
    if serviceContract.SignTime == "" {
        return ecode.InvalidParams, result
    }
    if serviceContract.Number == "" {
        return ecode.InvalidParams, result
    }
    if serviceContract.MemberId <= 0 {
        return ecode.InvalidParams, result
    }
    //if serviceContract.SignTime == "" {
    //    return ecode.InvalidParams, result
    //}
    //
    //if serviceContract.Number == "" {
    //    return ecode.InvalidParams, result
    //}
    //
    //if serviceContract.MemberId <= 0 {
    //    return ecode.InvalidParams, result
    //}
    t, err := checkTimeFormat(serviceContract.SignTime)
    if err != nil {
api/v1/serviceFeeManage.go
@@ -131,9 +131,9 @@
// checkServiceFeeManageParams
func checkServiceFeeManageParams(serviceFeeManage request.ServiceFeeManage) (errCode int, result model.ServiceFeeManage) {
    if serviceFeeManage.ClientId == 0 {
        return ecode.InvalidParams, result
    }
    //if serviceFeeManage.ClientId == 0 {
    //    return ecode.InvalidParams, result
    //}
    if serviceFeeManage.MemberId == 0 {
        return ecode.InvalidParams, result
api/v1/serviceFollowup.go
@@ -122,13 +122,13 @@
// checkServiceFollowupParams
func checkServiceFollowupParams(serviceFollowup request.ServiceFollowup) (errCode int, serviceFollowupModel model.ServiceFollowup) {
    if serviceFollowup.Number == "" {
        return ecode.InvalidParams, serviceFollowupModel
    }
    if serviceFollowup.MemberId == 0 {
        return ecode.InvalidParams, serviceFollowupModel
    }
    //if serviceFollowup.Number == "" {
    //    return ecode.InvalidParams, serviceFollowupModel
    //}
    //
    //if serviceFollowup.MemberId == 0 {
    //    return ecode.InvalidParams, serviceFollowupModel
    //}
    serviceFollowupModel = model.ServiceFollowup{
        ClientId:     serviceFollowup.ClientId,
api/v1/subOrder.go
@@ -125,12 +125,12 @@
// checkSubOrderParams
// 检查子订单参数
func checkSubOrderParams(subOrder request.SubOrder) (errCode int, newSubOrder model.SubOrder) {
    if subOrder.Number == "" {
        return ecode.InvalidParams, newSubOrder
    }
    if subOrder.MemberId == 0 {
        return ecode.InvalidParams, newSubOrder
    }
    //if subOrder.Number == "" {
    //    return ecode.InvalidParams, newSubOrder
    //}
    //if subOrder.MemberId == 0 {
    //    return ecode.InvalidParams, newSubOrder
    //}
    newSubOrder.ClientId = subOrder.ClientId
    newSubOrder.MasterOrderId = subOrder.MasterOrderId
docs/docs.go
@@ -4997,6 +4997,36 @@
                    }
                }
            }
        },
        "/api/vetting/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Vetting"
                ],
                "summary": "添加审批",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddVetting"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
@@ -7205,8 +7235,50 @@
        "request.AddSubOrder": {
            "type": "object",
            "properties": {
                "subOrder": {
                    "$ref": "#/definitions/request.SubOrder"
                "clientId": {
                    "type": "integer"
                },
                "masterOrderId": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "product": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                }
            }
        },
        "request.AddVetting": {
            "type": "object",
            "required": [
                "opinion",
                "status",
                "userId",
                "vettingId",
                "vettingType"
            ],
            "properties": {
                "opinion": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                },
                "userId": {
                    "type": "integer"
                },
                "vettingId": {
                    "type": "integer"
                },
                "vettingType": {
                    "type": "integer"
                }
            }
        },
@@ -7783,29 +7855,6 @@
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "request.SubOrder": {
            "type": "object",
            "properties": {
                "clientId": {
                    "type": "integer"
                },
                "masterOrderId": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "product": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                }
            }
docs/swagger.json
@@ -4985,6 +4985,36 @@
                    }
                }
            }
        },
        "/api/vetting/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Vetting"
                ],
                "summary": "添加审批",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddVetting"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
@@ -7193,8 +7223,50 @@
        "request.AddSubOrder": {
            "type": "object",
            "properties": {
                "subOrder": {
                    "$ref": "#/definitions/request.SubOrder"
                "clientId": {
                    "type": "integer"
                },
                "masterOrderId": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "product": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                }
            }
        },
        "request.AddVetting": {
            "type": "object",
            "required": [
                "opinion",
                "status",
                "userId",
                "vettingId",
                "vettingType"
            ],
            "properties": {
                "opinion": {
                    "type": "string"
                },
                "status": {
                    "type": "integer"
                },
                "userId": {
                    "type": "integer"
                },
                "vettingId": {
                    "type": "integer"
                },
                "vettingType": {
                    "type": "integer"
                }
            }
        },
@@ -7771,29 +7843,6 @@
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "request.SubOrder": {
            "type": "object",
            "properties": {
                "clientId": {
                    "type": "integer"
                },
                "masterOrderId": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "product": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                }
            }
docs/swagger.yaml
@@ -1471,8 +1471,37 @@
    type: object
  request.AddSubOrder:
    properties:
      subOrder:
        $ref: '#/definitions/request.SubOrder'
      clientId:
        type: integer
      masterOrderId:
        type: integer
      memberId:
        type: integer
      number:
        type: string
      product:
        items:
          $ref: '#/definitions/model.Product'
        type: array
    type: object
  request.AddVetting:
    properties:
      opinion:
        type: string
      status:
        type: integer
      userId:
        type: integer
      vettingId:
        type: integer
      vettingType:
        type: integer
    required:
    - opinion
    - status
    - userId
    - vettingId
    - vettingType
    type: object
  request.CasbinInfo:
    properties:
@@ -1871,21 +1900,6 @@
        description: 地区ID列表
        items:
          type: integer
        type: array
    type: object
  request.SubOrder:
    properties:
      clientId:
        type: integer
      masterOrderId:
        type: integer
      memberId:
        type: integer
      number:
        type: string
      product:
        items:
          $ref: '#/definitions/model.Product'
        type: array
    type: object
  request.UpdateCities:
@@ -6123,4 +6137,23 @@
      summary: 设置用户信息
      tags:
      - User
  /api/vetting/add:
    post:
      parameters:
      - description: 查询参数
        in: body
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.AddVetting'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/contextx.Response'
      summary: 添加审批
      tags:
      - Vetting
swagger: "2.0"
model/request/subOrder.go
@@ -3,7 +3,7 @@
import "aps_crm/model"
type AddSubOrder struct {
    SubOrder SubOrder `json:"subOrder"`
    SubOrder
}
type SubOrder struct {