zhangqian
2023-08-11 d8ac88cfb72e3aac3a89c3cfe77774be3024a24c
docs/docs.go
@@ -1242,6 +1242,127 @@
                }
            }
        },
        "/api/collectionProjection/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CollectionProjection"
                ],
                "summary": "添加收款预测",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddCollectionProjection"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/collectionProjection/delete/{id}": {
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CollectionProjection"
                ],
                "summary": "删除收款预测",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "查询参数",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/collectionProjection/list": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CollectionProjection"
                ],
                "summary": "获取收款预测列表",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页大小",
                        "name": "pageSize",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/collectionProjection/update": {
            "put": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "CollectionProjection"
                ],
                "summary": "更新收款预测",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UpdateCollectionProjection"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/contact/add": {
            "post": {
                "produces": [
@@ -2727,76 +2848,61 @@
                }
            }
        },
        "/api/file/list": {
            "get": {
        "/api/file/download": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "附件管理"
                ],
                "summary": "获取附件列表",
                "summary": "附件下载",
                "parameters": [
                    {
                        "type": "string",
                        "name": "keyword",
                        "in": "query"
                    },
                    {
                        "enum": [
                            ""
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "FileKeywordCustomerName"
                        ],
                        "name": "keywordType",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页大小",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "enum": [
                            ""
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "FileQueryClassExpireLessThen60Days"
                        ],
                        "name": "queryClass",
                        "in": "query"
                        "description": "参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.DownloadFile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.ListResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.File"
                                            }
                                        }
                                    }
                                }
                            ]
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/file/preview": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "附件管理"
                ],
                "summary": "附件预览",
                "parameters": [
                    {
                        "description": "参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.DownloadFile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
@@ -4771,6 +4877,106 @@
                }
            }
        },
        "/api/product/info": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "产品"
                ],
                "summary": "获取产品详情",
                "parameters": [
                    {
                        "type": "string",
                        "description": "参数",
                        "name": "productNumber",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "成功",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/contextx.Response"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/product.Product"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/product/list": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "产品"
                ],
                "summary": "获取产品列表",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页大小",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "产品名称",
                        "name": "productName",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "产品编码",
                        "name": "productNumber",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.ListResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/product.Product"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/province/add": {
            "post": {
                "produces": [
@@ -6182,6 +6388,36 @@
                }
            }
        },
        "/api/saleChance/push": {
            "put": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "SaleChance"
                ],
                "summary": "推进销售机会",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.PushSaleChance"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/saleChance/update": {
            "put": {
                "produces": [
@@ -7535,7 +7771,7 @@
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.DeleteserviceContract"
                            "$ref": "#/definitions/request.DeleteServiceContract"
                        }
                    }
                ],
@@ -7557,7 +7793,7 @@
                "tags": [
                    "ServiceContract"
                ],
                "summary": "生成计划列表",
                "summary": "服务合同列表",
                "parameters": [
                    {
                        "description": "参数",
@@ -8182,7 +8418,7 @@
            }
        },
        "/api/serviceOrder/list": {
            "get": {
            "post": {
                "produces": [
                    "application/json"
                ],
@@ -8190,6 +8426,17 @@
                    "服务单管理"
                ],
                "summary": "获取服务单列表",
                "parameters": [
                    {
                        "description": "参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.GetServiceOrderList"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
@@ -8232,6 +8479,169 @@
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UpdateServiceOrder"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceOrderStatus/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "服务单状态"
                ],
                "summary": "添加服务单状态",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddServiceOrderStatus"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceOrderStatus/delete/{id}": {
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "服务单状态"
                ],
                "summary": "删除服务单状态",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "查询参数",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/serviceOrderStatus/list": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "服务单状态"
                ],
                "summary": "获取服务单状态列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "keyword",
                        "in": "query"
                    },
                    {
                        "enum": [
                            ""
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ServiceOrderStatusKeywordCustomerName"
                        ],
                        "name": "keywordType",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页大小",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "enum": [
                            ""
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "ServiceOrderStatusQueryClassExpireLessThen60Days"
                        ],
                        "name": "queryClass",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.ListResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.ServiceOrderStatus"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/serviceOrderStatus/update": {
            "put": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "服务单状态"
                ],
                "summary": "更新服务单状态",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UpdateServiceOrderStatus"
                        }
                    }
                ],
@@ -9398,6 +9808,169 @@
                    }
                }
            }
        },
        "/api/wechatOrderStatus/add": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "微信订单状态"
                ],
                "summary": "添加微信订单状态",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddWechatOrderStatus"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/wechatOrderStatus/delete/{id}": {
            "delete": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "微信订单状态"
                ],
                "summary": "删除微信订单状态",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "查询参数",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        },
        "/api/wechatOrderStatus/list": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "微信订单状态"
                ],
                "summary": "获取微信订单状态列表",
                "parameters": [
                    {
                        "type": "string",
                        "name": "keyword",
                        "in": "query"
                    },
                    {
                        "enum": [
                            ""
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "WechatOrderStatusKeywordCustomerName"
                        ],
                        "name": "keywordType",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "页码",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "每页大小",
                        "name": "pageSize",
                        "in": "query"
                    },
                    {
                        "enum": [
                            ""
                        ],
                        "type": "string",
                        "x-enum-varnames": [
                            "WechatOrderStatusQueryClassExpireLessThen60Days"
                        ],
                        "name": "queryClass",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "allOf": [
                                {
                                    "$ref": "#/definitions/response.ListResponse"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/model.WechatOrderStatus"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            }
        },
        "/api/wechatOrderStatus/update": {
            "put": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "微信订单状态"
                ],
                "summary": "更新微信订单状态",
                "parameters": [
                    {
                        "description": "查询参数",
                        "name": "object",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UpdateWechatOrderStatus"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/contextx.Response"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
@@ -9468,24 +10041,6 @@
            ],
            "x-enum-varnames": [
                "FaqQueryClassExpireLessThen60Days"
            ]
        },
        "constvar.FileKeywordType": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "FileKeywordCustomerName"
            ]
        },
        "constvar.FileQueryClass": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "FileQueryClassExpireLessThen60Days"
            ]
        },
        "constvar.InvoiceKeywordType": {
@@ -9589,31 +10144,45 @@
                "ReceiptQueryClassExpireLessThen60Days"
            ]
        },
        "constvar.SalesDetailsKeywordType": {
            "type": "string",
            "enum": [
                "客户名称",
                "订单编号",
                "签约日期",
                "销售负责人",
                "产品名称"
            ],
            "x-enum-varnames": [
                "SalesDetailsKeywordTypeCustomerName",
                "SalesDetailsKeywordTypeOrderNumber",
                "SalesDetailsKeywordTypeSignTime",
                "SalesDetailsKeywordTypePrincipal",
                "SalesDetailsKeywordTypeProductName"
            ]
        },
        "constvar.SalesStatus": {
            "type": "integer",
            "enum": [
                -1,
                0,
                1,
                2,
                3,
                4,
                5
                -1
            ],
            "x-enum-comments": {
                "SalesStatusFail": "失败",
                "SalesStatusIng": "进行中",
                "SalesStatusLevelUptoClient": "升级为客户",
                "SalesStatusLevelUptoClientAndSalesChance": "升级为客户并且有销售机会",
                "SalesStatusNew": "新建",
                "SalesStatusSuccess": "成功"
                "SalesStatusNew": "新建"
            },
            "x-enum-varnames": [
                "SalesStatusFail",
                "SalesStatusNew",
                "SalesStatusIng",
                "SalesStatusSuccess",
                "SalesStatusLevelUptoClient",
                "SalesStatusLevelUptoClientAndSalesChance"
                "SalesStatusLevelUptoClientAndSalesChance",
                "SalesStatusFail"
            ]
        },
        "constvar.ServiceContractKeywordType": {
@@ -9721,6 +10290,56 @@
                "ServiceFollowupKeywordSatisfactionDegree"
            ]
        },
        "constvar.ServiceOrderKeywordType": {
            "type": "string",
            "enum": [
                "服务单编号",
                "主题",
                "客户名称",
                "实际处理时间",
                "服务人员",
                "服务方式",
                "产品类别",
                "故障类别"
            ],
            "x-enum-varnames": [
                "ServiceOrderKeywordOrderNumber",
                "ServiceOrderKeywordSubject",
                "ServiceOrderKeywordClientName",
                "ServiceOrderKeywordRealProcessTime",
                "ServiceOrderKeywordServiceMan",
                "ServiceOrderKeywordServiceType",
                "ServiceOrderKeywordProductType",
                "ServiceOrderKeywordFaultType"
            ]
        },
        "constvar.ServiceOrderQueryClass": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "ServiceOrderQueryClassExpireLessThen60Days"
            ]
        },
        "constvar.ServiceOrderStatusKeywordType": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "ServiceOrderStatusKeywordCustomerName"
            ]
        },
        "constvar.ServiceOrderStatusQueryClass": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "ServiceOrderStatusQueryClassExpireLessThen60Days"
            ]
        },
        "constvar.UserType": {
            "type": "integer",
            "enum": [
@@ -9737,6 +10356,24 @@
                "UserTypeSuper",
                "UserTypePrimary",
                "UserTypeSub"
            ]
        },
        "constvar.WechatOrderStatusKeywordType": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "WechatOrderStatusKeywordCustomerName"
            ]
        },
        "constvar.WechatOrderStatusQueryClass": {
            "type": "string",
            "enum": [
                ""
            ],
            "x-enum-varnames": [
                "WechatOrderStatusQueryClassExpireLessThen60Days"
            ]
        },
        "contextx.Response": {
@@ -9894,6 +10531,9 @@
                "latest_service_time": {
                    "type": "string"
                },
                "member": {
                    "$ref": "#/definitions/model.User"
                },
                "member_id": {
                    "type": "integer"
                },
@@ -9978,6 +10618,42 @@
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "model.CollectionProjection": {
            "type": "object",
            "properties": {
                "created_at": {
                    "description": "The date when the item was created\nexample: 2023-08-10 15:48:25",
                    "type": "string"
                },
                "creator": {
                    "type": "integer"
                },
                "deleted_at": {
                    "description": "The date when the item was deleted\nexample: 2023-08-10 15:48:25",
                    "type": "string"
                },
                "estimated_collection_amount": {
                    "type": "number"
                },
                "estimated_collection_date": {
                    "type": "string"
                },
                "id": {
                    "description": "The ID of the item\nexample: 1",
                    "type": "integer"
                },
                "modifier": {
                    "type": "integer"
                },
                "sale_chance_id": {
                    "type": "integer"
                },
                "updated_at": {
                    "description": "The date when the item was last updated\nexample: 2023-08-10 15:48:25",
                    "type": "string"
                }
            }
@@ -10189,32 +10865,6 @@
                }
            }
        },
        "model.CustomerServiceSheet": {
            "type": "object",
            "properties": {
                "handleStatus": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "priority": {
                    "type": "integer"
                },
                "serviceFollowupId": {
                    "type": "integer"
                },
                "serviceMode": {
                    "type": "integer"
                }
            }
        },
        "model.Department": {
            "type": "object",
            "properties": {
@@ -10270,50 +10920,6 @@
                }
            }
        },
        "model.File": {
            "type": "object",
            "properties": {
                "bucket": {
                    "description": "对象存储bucket",
                    "type": "string"
                },
                "downloadCount": {
                    "description": "下次次数",
                    "type": "integer"
                },
                "filePath": {
                    "description": "文件路径",
                    "type": "string"
                },
                "fileType": {
                    "description": "文件类型",
                    "type": "string"
                },
                "key": {
                    "description": "对象存储key",
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "previewCount": {
                    "description": "预览次数",
                    "type": "integer"
                },
                "size": {
                    "description": "文件大小",
                    "type": "integer"
                },
                "sourceId": {
                    "description": "来源id",
                    "type": "integer"
                },
                "sourceType": {
                    "description": "附件来源",
                    "type": "string"
                }
            }
        },
        "model.FollowRecord": {
            "type": "object",
            "properties": {
@@ -10343,6 +10949,9 @@
                },
                "id": {
                    "type": "integer"
                },
                "member": {
                    "$ref": "#/definitions/model.User"
                },
                "member_id": {
                    "type": "integer"
@@ -10430,6 +11039,12 @@
                "principalId": {
                    "description": "销售负责人id",
                    "type": "integer"
                },
                "products": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "sourceId": {
                    "description": "源单id",
@@ -10680,7 +11295,7 @@
            "type": "object",
            "properties": {
                "amount": {
                    "type": "integer"
                    "type": "number"
                },
                "desc": {
                    "type": "string"
@@ -10748,6 +11363,12 @@
                },
                "number": {
                    "type": "string"
                },
                "products": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "quotation_status_id": {
                    "type": "integer"
@@ -10912,6 +11533,12 @@
                "client_id": {
                    "type": "integer"
                },
                "collection_projections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.CollectionProjection"
                    }
                },
                "competitors": {
                    "type": "string"
                },
@@ -11047,6 +11674,22 @@
                "addressee": {
                    "type": "string"
                },
                "amountInvoiced": {
                    "description": "已开票金额",
                    "type": "number"
                },
                "amountReceivable": {
                    "description": "应收金额",
                    "type": "number"
                },
                "amountReceived": {
                    "description": "已收金额",
                    "type": "number"
                },
                "amountUnInvoiced": {
                    "description": "未开票金额",
                    "type": "number"
                },
                "client": {
                    "$ref": "#/definitions/model.Client"
                },
@@ -11089,6 +11732,9 @@
                "remark": {
                    "type": "string"
                },
                "saleChance": {
                    "$ref": "#/definitions/model.SaleChance"
                },
                "saleChanceId": {
                    "type": "integer"
                },
@@ -11099,6 +11745,9 @@
                    "type": "string"
                },
                "wechatOrderStatus": {
                    "$ref": "#/definitions/model.WechatOrderStatus"
                },
                "wechatOrderStatusId": {
                    "type": "integer"
                }
            }
@@ -11340,6 +11989,9 @@
        "model.ServiceContract": {
            "type": "object",
            "properties": {
                "SaleChance": {
                    "$ref": "#/definitions/model.SaleChance"
                },
                "amountInvoiced": {
                    "description": "已开票金额",
                    "type": "number"
@@ -11352,13 +12004,20 @@
                    "description": "已收金额",
                    "type": "number"
                },
                "amountUnInvoiced": {
                    "description": "未开票金额",
                    "type": "number"
                },
                "client": {
                    "$ref": "#/definitions/model.Client"
                },
                "clientId": {
                    "type": "integer"
                },
                "contactId": {
                    "type": "integer"
                "contact": {
                    "$ref": "#/definitions/model.Contact"
                },
                "contractId": {
                "contactId": {
                    "type": "integer"
                },
                "endTime": {
@@ -11379,6 +12038,9 @@
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "quotation": {
                    "$ref": "#/definitions/model.Quotation"
                },
                "quotationId": {
                    "type": "integer"
                },
@@ -11388,8 +12050,20 @@
                "saleChanceId": {
                    "type": "integer"
                },
                "salesDetails": {
                    "$ref": "#/definitions/model.SalesDetails"
                },
                "salesDetailsId": {
                    "type": "integer"
                },
                "serviceContractStatus": {
                    "$ref": "#/definitions/model.ServiceContractStatus"
                },
                "serviceContractStatusId": {
                    "type": "integer"
                },
                "serviceContractType": {
                    "$ref": "#/definitions/model.ServiceContractType"
                },
                "serviceContractTypeId": {
                    "type": "integer"
@@ -11459,20 +12133,29 @@
        "model.ServiceFollowup": {
            "type": "object",
            "properties": {
                "Member": {
                    "$ref": "#/definitions/model.User"
                },
                "client": {
                    "$ref": "#/definitions/model.Client"
                },
                "clientId": {
                    "type": "integer"
                },
                "contact": {
                    "$ref": "#/definitions/model.Contact"
                },
                "contactId": {
                    "type": "integer"
                },
                "customerServiceSheet": {
                    "$ref": "#/definitions/model.CustomerServiceSheet"
                },
                "file": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "isVisit": {
                    "$ref": "#/definitions/model.IsVisit"
                },
                "isVisitId": {
                    "type": "integer"
@@ -11483,6 +12166,9 @@
                "number": {
                    "type": "string"
                },
                "oldMember": {
                    "$ref": "#/definitions/model.User"
                },
                "oldMemberId": {
                    "type": "integer"
                },
@@ -11492,17 +12178,26 @@
                "remark": {
                    "type": "string"
                },
                "satisfactionId": {
                    "type": "integer"
                "satisfaction": {
                    "$ref": "#/definitions/model.Satisfaction"
                },
                "serviceId": {
                "satisfactionId": {
                    "type": "integer"
                },
                "serviceOrder": {
                    "$ref": "#/definitions/model.ServiceOrder"
                },
                "serviceOrderId": {
                    "type": "integer"
                },
                "solveRate": {
                    "$ref": "#/definitions/model.SolveRate"
                },
                "solveRateId": {
                    "type": "integer"
                },
                "timelyRate": {
                    "$ref": "#/definitions/model.TimelyRate"
                },
                "timelyRateId": {
                    "type": "integer"
@@ -11521,11 +12216,11 @@
                    "type": "string"
                },
                "carFare": {
                    "description": "交通费",
                    "description": "交通费                                                                 // 交通费",
                    "type": "number"
                },
                "chargeAmount": {
                    "description": "收费金额",
                    "description": "收费金额                                                       // 收费金额",
                    "type": "number"
                },
                "client": {
@@ -11540,13 +12235,6 @@
                },
                "contactId": {
                    "description": "联系人id",
                    "type": "integer"
                },
                "contract": {
                    "$ref": "#/definitions/model.Contract"
                },
                "contractId": {
                    "description": "合同id",
                    "type": "integer"
                },
                "expectTime": {
@@ -11569,13 +12257,6 @@
                },
                "id": {
                    "type": "integer"
                },
                "orderId": {
                    "description": "销售订单id",
                    "type": "integer"
                },
                "orderManage": {
                    "$ref": "#/definitions/model.OrderManage"
                },
                "priorityLevel": {
                    "$ref": "#/definitions/model.PriorityLevel"
@@ -11610,6 +12291,20 @@
                    "description": "销售机会id",
                    "type": "integer"
                },
                "salesDetails": {
                    "$ref": "#/definitions/model.SalesDetails"
                },
                "salesDetailsId": {
                    "description": "销售明细id",
                    "type": "integer"
                },
                "serviceContract": {
                    "$ref": "#/definitions/model.ServiceContract"
                },
                "serviceContractId": {
                    "description": "服务合同id",
                    "type": "integer"
                },
                "serviceManId": {
                    "description": "服务人员",
                    "type": "integer"
@@ -11617,6 +12312,13 @@
                "serviceNumber": {
                    "description": "服务单编号",
                    "type": "string"
                },
                "serviceOrderStatus": {
                    "$ref": "#/definitions/model.ServiceOrderStatus"
                },
                "serviceOrderStatusId": {
                    "description": "处理状态",
                    "type": "integer"
                },
                "serviceType": {
                    "$ref": "#/definitions/model.ServiceType"
@@ -11636,10 +12338,6 @@
                    "description": "内部备注",
                    "type": "string"
                },
                "status": {
                    "description": "处理状态",
                    "type": "integer"
                },
                "subject": {
                    "description": "主题",
                    "type": "string"
@@ -11650,6 +12348,17 @@
                "timeSpentId": {
                    "description": "花费时间",
                    "type": "integer"
                }
            }
        },
        "model.ServiceOrderStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
@@ -11796,6 +12505,55 @@
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "model.WechatOrderStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "product.Product": {
            "type": "object",
            "properties": {
                "Amount": {
                    "description": "库存剩余量",
                    "type": "number"
                },
                "IsSale": {
                    "description": "是否销售",
                    "type": "boolean"
                },
                "MaterialMode": {
                    "description": "物料类型",
                    "type": "string"
                },
                "MinInventory": {
                    "description": "安全库存",
                    "type": "integer"
                },
                "Name": {
                    "type": "string"
                },
                "Number": {
                    "type": "string"
                },
                "PurchaseType": {
                    "description": "采购类型",
                    "type": "string"
                },
                "SalePrice": {
                    "description": "销售价格",
                    "type": "number"
                },
                "Unit": {
                    "type": "string"
                }
            }
@@ -11978,6 +12736,23 @@
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "request.AddCollectionProjection": {
            "type": "object",
            "properties": {
                "estimated_collection_amount": {
                    "description": "预计收款金额",
                    "type": "number"
                },
                "estimated_collection_time": {
                    "description": "预计收款时间",
                    "type": "string"
                },
                "sale_chance_id": {
                    "description": "销售机会id",
                    "type": "integer"
                }
            }
        },
@@ -12233,6 +13008,13 @@
                    "description": "销售负责人id",
                    "type": "integer"
                },
                "products": {
                    "description": "发票对应产品,从相应源单里获取",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "sourceId": {
                    "description": "源单id",
                    "type": "integer"
@@ -12435,6 +13217,12 @@
                },
                "number": {
                    "type": "string"
                },
                "products": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "quotation_status_id": {
                    "type": "integer"
@@ -12699,8 +13487,59 @@
        "request.AddSalesDetails": {
            "type": "object",
            "properties": {
                "salesDetails": {
                    "$ref": "#/definitions/request.SalesDetails"
                "address": {
                    "type": "string"
                },
                "addressee": {
                    "type": "string"
                },
                "clientId": {
                    "type": "integer"
                },
                "conditions": {
                    "type": "string"
                },
                "deliveryDate": {
                    "type": "string"
                },
                "logisticCompany": {
                    "type": "string"
                },
                "logisticCost": {
                    "type": "number"
                },
                "logisticNumber": {
                    "type": "string"
                },
                "memberId": {
                    "type": "integer"
                },
                "number": {
                    "type": "string"
                },
                "phone": {
                    "type": "string"
                },
                "products": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "remark": {
                    "type": "string"
                },
                "saleChanceId": {
                    "type": "integer"
                },
                "saleType": {
                    "type": "integer"
                },
                "signTime": {
                    "type": "string"
                },
                "wechatOrderStatusId": {
                    "type": "integer"
                }
            }
        },
@@ -12818,14 +13657,14 @@
        },
        "request.AddServiceContract": {
            "type": "object",
            "required": [
                "memberId"
            ],
            "properties": {
                "clientId": {
                    "type": "integer"
                },
                "contactId": {
                    "type": "integer"
                },
                "contractId": {
                    "type": "integer"
                },
                "endTime": {
@@ -12850,6 +13689,9 @@
                    "type": "string"
                },
                "saleChanceId": {
                    "type": "integer"
                },
                "salesDetailsId": {
                    "type": "integer"
                },
                "serviceTimes": {
@@ -13033,7 +13875,7 @@
                "satisfaction": {
                    "type": "integer"
                },
                "serviceId": {
                "serviceOrderId": {
                    "type": "integer"
                },
                "solveRate": {
@@ -13071,10 +13913,6 @@
                    "description": "联系人id",
                    "type": "integer"
                },
                "contractId": {
                    "description": "合同id",
                    "type": "integer"
                },
                "expectTime": {
                    "description": "希望处理时间",
                    "type": "string"
@@ -13085,10 +13923,6 @@
                },
                "faultTypeId": {
                    "description": "故障类别id",
                    "type": "integer"
                },
                "orderId": {
                    "description": "销售订单id",
                    "type": "integer"
                },
                "priorityLevelId": {
@@ -13115,6 +13949,14 @@
                    "description": "销售机会id",
                    "type": "integer"
                },
                "salesDetailsId": {
                    "description": "销售订单id",
                    "type": "integer"
                },
                "serviceContractId": {
                    "description": "合同id",
                    "type": "integer"
                },
                "serviceManId": {
                    "description": "服务人员",
                    "type": "integer"
@@ -13122,6 +13964,10 @@
                "serviceNumber": {
                    "description": "服务单编号",
                    "type": "string"
                },
                "serviceOrderStatusId": {
                    "description": "处理状态",
                    "type": "integer"
                },
                "serviceTypeId": {
                    "description": "服务方式id",
@@ -13139,10 +13985,6 @@
                    "description": "内部备注",
                    "type": "string"
                },
                "status": {
                    "description": "处理状态",
                    "type": "integer"
                },
                "subject": {
                    "description": "主题",
                    "type": "string"
@@ -13150,6 +13992,17 @@
                "timeSpentId": {
                    "description": "花费时间",
                    "type": "integer"
                }
            }
        },
        "request.AddServiceOrderStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
@@ -13269,6 +14122,17 @@
                }
            }
        },
        "request.AddWechatOrderStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "request.Assign": {
            "type": "object",
            "properties": {
@@ -13282,6 +14146,7 @@
                    "type": "integer"
                },
                "type": {
                    "description": "类型: client: 客户; salesLead: 销售线索; contact: 联系人; followRecord: 跟进记录",
                    "type": "string"
                }
            }
@@ -13471,6 +14336,17 @@
                }
            }
        },
        "request.DeleteServiceContract": {
            "type": "object",
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "request.DeleteServiceFeeManage": {
            "type": "object",
            "properties": {
@@ -13502,14 +14378,30 @@
                }
            }
        },
        "request.DeleteserviceContract": {
        "request.DownloadFile": {
            "type": "object",
            "required": [
                "id",
                "key",
                "sourceId",
                "sourceType"
            ],
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                "id": {
                    "description": "附件id",
                    "type": "integer"
                },
                "key": {
                    "description": "附件存储key",
                    "type": "string"
                },
                "sourceId": {
                    "description": "来源id",
                    "type": "integer"
                },
                "sourceType": {
                    "description": "附件来源",
                    "type": "string"
                }
            }
        },
@@ -13572,7 +14464,7 @@
                    "type": "integer"
                },
                "search_map": {
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"}; \"not_contact\": 超过15天未联系; \"public_sea\": 公海客户",
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"}; {\"name\": \"客户名称\", \"phone\": \"手机号码\", \"detail_address\":\"详细地址\", \"next_visit_time\":\"下回回访日期\", \"member_name\": \"销售负责人\", \"client_status\": \"客户状态\", \"client_level\": \"重要级别\"}",
                    "type": "object",
                    "additionalProperties": true
                }
@@ -13581,9 +14473,6 @@
        "request.GetContactList": {
            "type": "object",
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "page": {
                    "description": "页码",
                    "type": "integer"
@@ -13591,6 +14480,11 @@
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "search_map": {
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"}; {\"name\": \"客户名称\", \"phone\": \"手机号码\", \"detail_address\":\"详细地址\", \"next_visit_time\":\"下回回访日期\", \"member_name\": \"销售负责人\", \"client_status\": \"客户状态\", \"client_level\": \"重要级别\", \"is_first\": \"是否是首要联系人\"}",
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
@@ -13635,9 +14529,6 @@
        "request.GetFollowRecordList": {
            "type": "object",
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "page": {
                    "description": "页码",
                    "type": "integer"
@@ -13645,6 +14536,11 @@
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "search_map": {
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"}; {\"topic\": \"跟进主题\", \"member_name\": \"跟进人\", \"client_name\": \"客户名称\", \"client_status\": \"客户状态\", \"follow_time\": \"跟进时间\", \"next_follow_time\": \"下次跟进时间\", \"record\": \"跟进记录\", \"phone\": \"联系人电话\", \"contact_name\": \"联系人姓名\"}",
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
@@ -13699,9 +14595,6 @@
        "request.GetQuotationList": {
            "type": "object",
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "page": {
                    "description": "页码",
                    "type": "integer"
@@ -13709,15 +14602,17 @@
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "searchMap": {
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"}; {\"sale_chance_id\": 销售线索id}",
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
        "request.GetSaleChanceList": {
            "type": "object",
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "page": {
                    "description": "页码",
                    "type": "integer"
@@ -13725,6 +14620,11 @@
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "search_map": {
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"}; {\"name\": \"机会名称\", \"client_name\": \"客户名称\",\"number\":\"编号\", \"contact_name\":\"联系人姓名\", \"member_name\": \"销售负责人\", \"status\": \"状态\", \"sale_stage\": \"阶段\", \"possibilities\": \"可能性\", \"expected_time\": \"预计成交时间\", \"budget\": \"资金绝对值\", \"projected_amount\": \"预计合同金额\"}",
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
@@ -13733,6 +14633,9 @@
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "keywordType": {
                    "$ref": "#/definitions/constvar.SalesDetailsKeywordType"
                },
                "page": {
                    "description": "页码",
@@ -13747,9 +14650,6 @@
        "request.GetSalesLeadsList": {
            "type": "object",
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "page": {
                    "description": "页码",
                    "type": "integer"
@@ -13757,6 +14657,11 @@
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "search_map": {
                    "description": "搜索条件: map[string]interface{}{\"name\": \"xxx\"} {\"name\": \"客户名称\", \"number\": \"销售线索编号\", \"contact_name\": \"联系人姓名\", \"phone\": \"手机号码\", \"sales_resources\": \"商机来源\", \"city\": \"城市\", \"province\": \"省份\", \"member_name\": \"负责人\"}",
                    "type": "object",
                    "additionalProperties": true
                }
            }
        },
@@ -13852,6 +14757,38 @@
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "serviceOrderId": {
                    "description": "服务回访单id",
                    "type": "integer"
                }
            }
        },
        "request.GetServiceOrderList": {
            "type": "object",
            "properties": {
                "keyword": {
                    "type": "string"
                },
                "keywordType": {
                    "$ref": "#/definitions/constvar.ServiceOrderKeywordType"
                },
                "page": {
                    "description": "页码",
                    "type": "integer"
                },
                "pageSize": {
                    "description": "每页大小",
                    "type": "integer"
                },
                "queryClass": {
                    "$ref": "#/definitions/constvar.ServiceOrderQueryClass"
                },
                "salesDetailsId": {
                    "type": "integer"
                },
                "serviceContractId": {
                    "type": "integer"
                }
            }
        },
@@ -13937,6 +14874,21 @@
                    "type": "string"
                },
                "subOrderId": {
                    "type": "integer"
                }
            }
        },
        "request.PushSaleChance": {
            "type": "object",
            "required": [
                "id",
                "step"
            ],
            "properties": {
                "id": {
                    "type": "integer"
                },
                "step": {
                    "type": "integer"
                }
            }
@@ -14060,7 +15012,7 @@
                "signTime": {
                    "type": "string"
                },
                "wechatOrderStatus": {
                "wechatOrderStatusId": {
                    "type": "integer"
                }
            }
@@ -14475,6 +15427,22 @@
                }
            }
        },
        "request.UpdateCollectionProjection": {
            "type": "object",
            "properties": {
                "estimated_collection_amount": {
                    "description": "预计收款金额",
                    "type": "number"
                },
                "estimated_collection_time": {
                    "description": "预计收款时间",
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "request.UpdateContact": {
            "type": "object",
            "properties": {
@@ -14794,6 +15762,9 @@
        },
        "request.UpdateInvoice": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "clientId": {
                    "description": "客户id",
@@ -14829,6 +15800,13 @@
                "principalId": {
                    "description": "销售负责人id",
                    "type": "integer"
                },
                "products": {
                    "description": "发票对应产品,从相应源单里获取",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "sourceId": {
                    "description": "源单id",
@@ -15128,6 +16106,12 @@
                },
                "number": {
                    "type": "string"
                },
                "products": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/model.Product"
                    }
                },
                "quotation_status_id": {
                    "type": "integer"
@@ -15783,14 +16767,14 @@
        },
        "request.UpdateServiceContract": {
            "type": "object",
            "required": [
                "memberId"
            ],
            "properties": {
                "clientId": {
                    "type": "integer"
                },
                "contactId": {
                    "type": "integer"
                },
                "contractId": {
                    "type": "integer"
                },
                "endTime": {
@@ -15818,6 +16802,9 @@
                    "type": "string"
                },
                "saleChanceId": {
                    "type": "integer"
                },
                "salesDetailsId": {
                    "type": "integer"
                },
                "serviceTimes": {
@@ -16041,7 +17028,7 @@
                "satisfaction": {
                    "type": "integer"
                },
                "serviceId": {
                "serviceOrderId": {
                    "type": "integer"
                },
                "solveRate": {
@@ -16079,10 +17066,6 @@
                    "description": "联系人id",
                    "type": "integer"
                },
                "contractId": {
                    "description": "合同id",
                    "type": "integer"
                },
                "expectTime": {
                    "description": "希望处理时间",
                    "type": "string"
@@ -16096,10 +17079,6 @@
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "orderId": {
                    "description": "销售订单id",
                    "type": "integer"
                },
                "priorityLevelId": {
@@ -16126,6 +17105,14 @@
                    "description": "销售机会id",
                    "type": "integer"
                },
                "salesDetailsId": {
                    "description": "销售订单id",
                    "type": "integer"
                },
                "serviceContractId": {
                    "description": "合同id",
                    "type": "integer"
                },
                "serviceManId": {
                    "description": "服务人员",
                    "type": "integer"
@@ -16133,6 +17120,10 @@
                "serviceNumber": {
                    "description": "服务单编号",
                    "type": "string"
                },
                "serviceOrderStatusId": {
                    "description": "处理状态",
                    "type": "integer"
                },
                "serviceTypeId": {
                    "description": "服务方式id",
@@ -16150,10 +17141,6 @@
                    "description": "内部备注",
                    "type": "string"
                },
                "status": {
                    "description": "处理状态",
                    "type": "integer"
                },
                "subject": {
                    "description": "主题",
                    "type": "string"
@@ -16161,6 +17148,17 @@
                "timeSpentId": {
                    "description": "花费时间",
                    "type": "integer"
                }
            }
        },
        "request.UpdateServiceOrderStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
@@ -16325,6 +17323,17 @@
                }
            }
        },
        "request.UpdateWechatOrderStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "response.AccountIdResponse": {
            "type": "object",
            "properties": {