Commit ff6c4be9 by 刘铭阳

20260707 feat 新增、修改接口

parent 5dfdc094
# partner-mp 第四点接口文档(介绍人视图 03 + 对接人视图 04) # partner-mp 第四点接口文档(介绍人视图 03 + 对接人视图 04)
...@@ -426,6 +426,123 @@ sdk.domainServicePost( ...@@ -426,6 +426,123 @@ sdk.domainServicePost(
--- ---
# 五、20260707补充接口
> 本批对应 02 合伙人视图字段级复核(前端联调记录改动 15/16/17)。实现位置同上:`hro/hro_spview/services/partner_api.groovy`;线索写入复用 `models/partner/partner_opportunity` 公共方法。完成日期:2026-07-07。
> 分页统一:`page` 从 1 开始、`page_size` 默认 10 上限 100,反参统一给 `total`。
## ① partner_opportunity_list — 合伙人线索(商机)列表 【新增】
- **页面/位置**:02 · P8「推荐线索」列表(首页三宫格"推荐记录"、首页"推荐线索"banner 均跳此页)。
- **用途效果**:拉取**当前登录合伙人自己提交**的线索/商机(`partner_id=本人uid`)。与对接人 ② `opportunity_list` 是同一张商机表的两个查看角度,仅数据范围不同。
- **入参**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| status | string | 否 | tab:空 或 `all`=全部;`in_progress`=进行中(待审核1/待分配2/跟进中3/暂时挂起4);`5`=已成单;`6`=已作废 |
| search_key | string | 否 | 客户名称模糊搜索 |
| page / page_size | int | 否 | 分页 |
- **反参**(ApiResult.data):`total``page``data_list[]`
| 字段 | 说明 |
|------|------|
| opportunity_id / code | 商机id / 编号(LMxxx) |
| customer_name | 客户名 |
| customer_attr | 产品分类tag(大类-分类) |
| product_name | 产品名 |
| partner_name | 合伙人(=本人) |
| contactor_name | 对接人(**本批新增字段**;未分配时为"-") |
| channel_admin_name | 渠道管理员 |
| source / source_code | 来源显示 / 码 |
| create_time / update_time | 创建/更新时间 |
| status / status_code | 状态显示 / 码 |
- **示例**
```jsonc
// 请求 data: { "status": "in_progress", "search_key": "科技", "page": 1, "page_size": 10 }
// 响应
{ "code": 0, "msg": "成功", "data": {
"total": 12, "page": 1,
"data_list": [{
"opportunity_id": 6001, "code": "LM20260707101500888",
"customer_name": "杭州某某科技有限公司", "customer_attr": "用工合规-异地用工",
"product_name": "岗位外包", "partner_name": "张三", "contactor_name": "-",
"channel_admin_name": "李管理", "source": "合伙人添加", "source_code": 1,
"create_time": "2026-07-07 10:15:00", "update_time": "2026-07-07 10:15:00",
"status": "待审核", "status_code": 1
}]
}}
```
## ② partner_lead_create — 合伙人提交新线索 【新增】
- **页面/位置**:02 · P9「提交新线索」表单(P8 列表底部 CTA 进入)。
- **用途效果**:合伙人提交线索。来源固定=**合伙人添加(source=1)**,初始状态=**待审核(1)**,合伙人=当前登录用户。多选产品拆成多条商机;命中**三维去重(客户名称 + 联系人手机号 + 产品,且进行中)**则只刷新原商机更新时间、不新建。仅**审核通过的合伙人**可提交。
- **入参**
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| customer_type | int | 是 | 客户类型:1企业 / 2个人 |
| customer_name | string | 是 | 客户名称(企业名或个人姓名,free-text) |
| contact_name | string | 否 | 联系人 |
| contact_mobile | string | 是 | 联系人手机号(去重维度之一) |
| product_ids | int[] | 是 | 意向产品,多选拆多条商机 |
| description | string | 否 | 补充说明 |
> 去重口径:同 `客户名称 + 联系人手机号 + 产品 + 进行中(待审核/待分配/跟进中/挂起)` 已存在则不新建,仅刷新更新时间。
- **反参**`{ result:0, msg:"提交成功", items:[{ product_id, product_name, result:'created'|'duplicated', opportunity_id }] }`
- **示例**
```jsonc
// 请求 data: { "customer_type":1, "customer_name":"杭州某某科技有限公司",
// "contact_name":"王经理", "contact_mobile":"13800001111", "product_ids":[101,102] }
// 响应
{ "result": 0, "msg": "提交成功", "items": [
{ "product_id": 101, "product_name": "岗位外包", "result": "created", "opportunity_id": 6002 },
{ "product_id": 102, "product_name": "薪酬代发", "result": "duplicated", "opportunity_id": 5900 }
]}
```
> 替代旧接口 `partner_users / create_lead_suggestion`(前端 `referral-clue.vue`,已不再引用)。
## ③ 修改接口:customer_collect_list — 详情场景新增 first_deal_status
- **页面/位置**:02 · P3 客户详情头部卡片(`v-if="detail.first_deal_status"`)。
- **改动**:当传入 `UserMemberId`(精确查单个客户 = 详情场景)时,`data_list`**新增** `first_deal_status`(首次成单状态)。列表场景(不传 `UserMemberId`)不返回该字段。
- **取值口径**:复用现有 `get_settlement_uid` —— 该客户对该合伙人存在非取消结算单 = `已成单`,否则按客户类型返回 `已注册`(个人)/`已创建`(企业)/`已留资`
- **示例**
```jsonc
// 请求 data: { "UserMemberId": 123456 }
// 响应 data_list[0] 片段
{ "...": "其余字段不变", "first_deal_status": "已成单" }
```
## ④ 修改接口:customer_order_list — 支持分页
- **页面/位置**:02 · P3 客户详情订单列表(单客户订单已超 200 条)。
- **改动**:入参**新增** `page``page_size`;反参**新增** `total``page``rc_count` 同步为总数,兼容旧字段)。
- **入参**`{ UserMemberId(必填), page, page_size }`
- **反参**`{ orders[], total, page, rc_count }``orders[]` 字段不变)。
## ⑤ 修改接口:get_deal_settlement — 佣金明细支持分页
- **页面/位置**:02 · P4 我的佣金明细列表(合伙人佣金明细已超 200 条,滚动加载)。
- **改动**:入参**新增** `page``page_size`;反参 `list` 分页返回,并**新增** `total``page`
- **不受影响**:金额统计 `balance / settled_commission / pending_commission / total_commission` 仍按全量计算,分页只作用于明细列表。
- **入参**`{ type, status, page, page_size }``type`/`status` 沿用原义)。
## ⑥ 修改口径:介绍人身份判定收紧为"审核通过的合伙人"
- **影响接口**`user_info.is_introducer``introducer_home_summary``introducer_partner_list``introducer_partner_detail`
- **改动**:介绍人身份 / 介绍人的合伙人统计与列表,**只统计和展示 status=2(审核通过)的合伙人**;被推荐人仍处待审核(status=1)时,邀请人**不**显示为介绍人、也不计入介绍合伙人数与列表。
- **前端无需改动**,行为随后端生效(此前口径为"曾推荐≥1位合伙人即介绍人",不区分审核状态)。
---
# 附:数据来源与依赖(供排查) # 附:数据来源与依赖(供排查)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment