|
|
@@ -0,0 +1,161 @@
|
|
|
+# 主订单列表查询接口对接文档
|
|
|
+
|
|
|
+## 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) |
|