# 主订单列表查询接口对接文档 ## 1. 概述 - **功能**:查询主订单列表。仅查询主订单表 `ins_orders`(`parent_id = '0'`), **不进行任何联表查询**,筛选条件不变(仅主表字段生效)。 - **Base URL**:`{host}/supplementOrder` --- ## 2. 接口信息 | 项目 | 说明 | |------------------|---------------------------------------| | **URL** | `/supplementOrder/queryMainOrderList` | | **Method** | `POST` | | **Content-Type** | `application/json` | --- ## 3. 请求参数 ### 3.1 通用分页参数(继承自 `PageRequest`) | 字段 | 类型 | 必填 | 说明 | |------------|--------|------|--------------------------------| | `pageNum` | int | 否 | 页码,默认 1 | | `pageSize` | int | 否 | 每页条数,默认 10 | | `orderBy` | String | 否 | 排序字段(默认按创建时间倒序) | ### 3.2 筛选条件(仅主表字段生效) ```json { "pageNum": 1, "pageSize": 10, "orderNo": "OR2026072300001", "licenseNo": "晋A12345", "vinNo": "LSVAA41T0A2000001", "orderStatus": "1", "salesman": "13800000000", "companyName": "中国人民财产保险股份有限公司", "companyId": "C001", "productCode": "P001", "productName": "交强险", "paymentLink": "https://pay.example.com/xxx", "startDate": "2026-08-01 00:00:00", "endDate": "2026-08-25 23:59:59", "startSigningTime": "2026-08-01 00:00:00", "endSigningTime": "2026-08-25 23:59:59", "startPayTime": "2026-08-01 00:00:00", "endPayTime": "2026-08-25 23:59:59" } ``` | 字段 | 类型 | 必填 | 说明 | |-----------------------------------|--------|------|------------------------------------------------| | `orderNo` | String | 否 | 订单号(匹配主表 `id`) | | `licenseNo` | String | 否 | 车牌号(联表 `ins_orders_car_info` 精确匹配) | | `vinNo` | String | 否 | 车架号(联表 `ins_orders_car_info` 精确匹配) | | `orderStatus` | String | 否 | 订单状态 | | `salesman` | String | 否 | 业务员(匹配主表 `real_quote_user_id` 手机号) | | `companyName` | String | 否 | 保险公司名称(精确匹配) | | `companyId` | String | 否 | 保险公司ID | | `productCode` | String | 否 | 险种编码(匹配 `product_id`) | | `productName` | String | 否 | 险种名称 | | `paymentLink` | String | 否 | 支付链接(精确匹配) | | `startDate/endDate` | String | 否 | 录单时间范围(`create_time`) | | `startSigningTime/endSigningTime` | String | 否 | 签单时间范围(`signing_time`) | | `startPayTime/endPayTime` | String | 否 | 支付时间范围(`pay_time`) | > **说明**: > 1. `jzgInfoId` 无需前端传,服务端根据当前登录用户自动注入(查询本人及其下级业务员的订单)。 > 2. 以下条件在本接口中 **不支持** (依赖车主/人员/险种/费用等其他表联查,本接口自动忽略):车主/投保人/被保人姓名及手机号、交强/商业险起保日期、各类保费、车船税、录单人、业务员名称/类型、协议名称、部门、批改状态/批改单ID/批改后保费、 `isTemporarily`、`auditStatus`、`salesmanCompany`、`recordingTime`、`adjustStatus`、`adjustId`、`adjustPremium`、 `parentId`。 --- ## 4. 返回结果 ### 4.1 响应结构 ```json { "code": 200, "message": "success", "data": { "records": [ { "orderNo": "OR2026072300001", "no": "QZ202607230001", "companyId": "C001", "companyName": "中国人民财产保险股份有限公司", "productCode": "P001", "productName": "交强险", "orderStatus": "1", "createTime": "2026-08-25 10:00:00", "createBy": "张三", "errorMessage": null, "paymentLink": "https://pay.example.com/xxx", "signingTime": "2026-08-25 12:00:00", "payTime": "2026-08-25 13:00:00", "licenseNo": "晋A12345", "vinNo": "LSVAA41T0A2000001", "ownerName": null, "sumPremium": null, "...": null } ], "total": 1, "size": 10, "current": 1, "pages": 1 } } ``` ### 4.2 返回字段说明 | 字段 | 类型 | 说明 | |----------------|--------|-----------------------------------------| | `orderNo` | String | 订单号(主表 `id`) | | `no` | String | 报价单号(主表 `quote_no`) | | `companyId` | String | 保险公司ID | | `companyName` | String | 保险公司名称 | | `productCode` | String | 险种编码(主表 `product_id`) | | `productName` | String | 险种名称 | | `orderStatus` | String | 订单状态 | | `createTime` | Date | 录单时间 | | `createBy` | String | 录单人 | | `errorMessage` | String | 错误信息(失败原因) | | `paymentLink` | String | 支付链接 | | `signingTime` | Date | 签单时间 | | `payTime` | Date | 支付时间 | | `licenseNo` | String | 车牌号(联表 `ins_orders_car_info`) | | `vinNo` | String | 车架号(联表 `ins_orders_car_info`) | | 其余字段 | - | 车辆/保费/人员等其他联表字段均为 `null` | --- ## 5. 处理逻辑说明 1. **主订单**:只返回主订单(`parent_id = '0'` 且 `is_delete = 0`),追加/批改产生的子订单不展示。 2. **联表范围**:仅联表 `ins_orders_car_info` 获取车牌号、车架号,不关联人员/险种/费用等其他表。 3. **权限过滤**:服务端根据当前登录用户调用组织服务获取 `jzgInfoId`,自动限定本人及其下级业务员的订单(与 `queryList` 一致)。 4. **排序**:固定按 `create_time desc` 倒序。 5. **筛选条件**:主表字段 + 车牌号/车架号作为条件生效;其余联表字段(人员、保费等)在请求中被忽略。 6. **返回字段**:主表字段 + 车牌号/车架号;其余联表字段(保费、车主信息等)为 `null`。 --- ## 6. 与 queryList 的差异对比 | 维度 | `queryList` | `queryMainOrderList` | |--------------|----------------------------------------|-----------------------------------------| | 查询范围 | 子订单(`parent_id != '0'`)+ 多表联查 | 主订单(`parent_id = '0'`) | | 联表 | 有(车辆、人员、费用等) | 仅 `ins_orders_car_info`(车牌/车架号) | | 联表筛选 | 支持 | 仅车牌号、车架号 | | 联表返回字段 | 有(车牌、保费、车主等) | 仅车牌号、车架号 | | 性能 | 慢(多表 JOIN + N+1) | 快(单表 + 1 次 JOIN) |