CRM系统管理接口
> 范围:客户管理全流程中按「客户位置」划分的四类客户池——线索客户、意向客户、公海客户、黑名单客户——的查询、流转、领取、分配与维护接口 > 服务与网关:`qxcrm-law`(客户域,网关前缀 `/law`) > 鉴权方式:网关 `Authorization` 登录态;请求 / 响应体按 `@ApiEncryptAes` / `@ApiDecryptAes` 做 AES 加解密 > 返回结构:`R<T>`,`code = 0` 表示成功 --- ## 一、客户位置与四类客户池 四类客户池由客户主表的单一字段 `customer.customer_type`(客户位置 / 客户去向)区分,枚举定义见 `CustomerTargetEnum` 与 `ConstantParam`: | code | 客户位置 | 常量 | 说明 | | --- | --- | --- | --- | | `0` | 待分配 | `APPORTION_CUSTOMER` | 已进入系统、尚未派发给员工 | | `1` | 线索客户 | `CLUE_CUSTOMER` | 初步接触、尚未确认意向 | | `2` | 意向客户 | `INTENTION_CUSTOMER` | 已确认意向,进入重点跟进 | | `3` | 成交客户 | `TRANSACTION_CUSTOMER` | 已成交;**不可转公海、不可删除** | | `4` | 公海客户 | `PUBLIC_CUSTOMER` | 已回收至企业公海或团队公海,可被领取或分配 | | `5` | 黑名单客户 | `BLACK_CUSTOMER` | 已拉黑,不可再分配触达,可按规则移出 | ### 1.1 查询用的扩展客户位置 客户列表查询(`CustomerQueryDTO.customerType`)在四类池之外支持扩展取值,便于「所有客户」「我的协助」「广告撞库」等视图: | code | 含义 | | --- | --- | | `10` | 所有客户(= 线索 + 意向 + 成交) | | `11` | 需要我协助的客户 | | `12` | 我的客户 - 协助中 | | `13` | 广告撞库记录 | | `14` | 全部客户 | | `15` | 成功客户 | | `16` | AI 呼叫任务客户(全部权限 = 0+1+2+3+4;其他 = 0+1+2+3) | > `customerType` 为必填项,取值范围 `0–16`,越界返回参数校验错误「客户位置不能大于16」。 ### 1.2 四类客户池关联的关键字段 | 字段 | 说明 | 适用客户池 | | --- | --- | --- | | `customer_type` | 客户位置(见上表) | 全部 | | `manager_id` / `manager_time` | 当前 / 最后跟进人与领取时间 | 线索、意向、成交 | | `first_manager_id` / `first_manager_time` | 首个跟进人与领取时间 | 全部 | | `public_time` | 加入公海时间 | 公海 | | `public_type` | 加入公海方式:`0` 自动、`1` 手动 | 公海 | | `public_team_id` | 团队公海 ID;`0` 表示企业公海 | 公海 | | `expected_public_time` | 预计加入公海时间 | 线索、意向 | | `black_reason` / `black_time` / `black_user_id` | 拉黑原因 / 时间 / 操作人 | 黑名单 | | `is_lock` / `lock_start_time` / `lock_end_time` | 是否锁定与锁定区间 | 全部 | | `all_status` | 是否在「所有客户」菜单展示:`1` 是、`0` 否 | 全部 | | `follow_source` | 跟进来源(见第六节来源枚举) | 全部 | --- ## 二、接口总览 | 分组 | 方法 | 路径 | 说明 | | --- | --- | --- | --- | | 列表与详情 | `POST` | `/law/customer/page`、`/pageV2` | 客户分页查询(四类客户池共用,按 `customerType` 切换) | | 列表与详情 | `GET` | `/law/customer/{id}`、`/getByIdNotSensitive` | 客户详情 | | 列表与详情 | `POST` | `/law/customer/searchSelect`、`/searchSelect/pc` | 客户下拉检索 | | 批量维护 | `POST` | `/law/customer/updateByQuery` | 按筛选条件批量修改客户 | | 批量维护 | `POST` | `/law/customer/deleteByQuery`、`/deleteByQueryV2` | 按筛选条件批量删除(成交客户除外) | | 线索 / 意向 | `PUT` | `/law/customer/clueToIntention` | 线索客户转意向客户 | | 线索 / 意向 | `PUT` | `/law/customer/intentionToClue` | 意向客户转线索客户 | | 线索 / 意向 / 成交 | `PUT` | `/law/customer/transferDealCustomer` | 转成交客户 | | 线索 / 意向 / 成交 | `PUT` | `/law/customer/updateCustomerStatus`、`/updateCustomerImportant` | 维护客户状态 / 星级 | | 公海 | `PUT` | `/law/customer/transferToPublic`(=`/transferToPublic-advance`) | 转入公海 | | 公海 | `PUT` | `/law/customer/operate/publicSeaDrawDown` | 公海领取 | | 公海 | `POST` | `/law/public/distribute/publicDistribute` | 公海分配 | | 公海 | `POST` | `/law/public/distribute/getPublicDistributeNum`、`/publicDistributeTest` | 待公海分配数量 / 分配预测 | | 公海 | `POST` | `/law/customer/updatePublicToFirstTeam` | 团队公海客户并入企业公海 | | 黑名单 | `PUT` | `/law/customer/operate/shield` | 拉黑客户 | | 黑名单 / 锁定 | `PUT` | `/law/customer/operate/lock` | 锁定 / 解锁客户 | | 分配与转移 | `POST` | `/law/customer/distribute/getUserListByDeptIds` | 按部门取员工与客户容量 | | 分配与转移 | `POST` | `/law/customer/distribute/getDistributeNum`、`/managerDistributeTest` | 待分配数量 / 分配预测 | | 分配与转移 | `POST` | `/law/customer/distribute/managerDistribute` | 分配客户(含待分配、公海、黑名单转入线索 / 意向) | | 分配与转移 | `POST` | `/law/customer/distribute/successDetail` | 分配成功明细 | | 分配与转移 | `POST` | `/law/customer/operate/managerTransfer`、`/managerTransferSingle` | 跟进人转移(单个 / 批量) | | 分配与转移 | `POST` | `/law/allCustomer/operate/managerTransfer` | 全部客户分配 / 转移 | | 协助 | `PUT` | `/law/customer/operate/help/save`、`/help/cancel` | 新增 / 取消协助人 | | 协助 | `PUT` | `/law/customer/operate/success/followTransfer` | 成交客户跟进人转移 | | 协助 | `PUT` | `/law/customer/operate/receptionTransfer` | 接待人 / 拜访人转移 | | 统计 | `POST` | `/law/customer/operate/newCustomerCount`、`/newCustomerCountAsyn`、`/newCustomerCountV2` | 客户列表统计(按客户位置) | | 统计 | `POST` | `/law/customer/countByUserIds` | 统计员工现有客户数量(内部) | > 网关前缀 `/law` 对应服务 `qxcrm-law`;上述接口均需登录态,接入方(广告公司 / 渠道方)不直接调用,需通过平台前端或 `qxcrm-open` 的开放接口间接使用。 --- ## 三、列表与详情查询 ### 3.1 客户分页查询(`POST /law/customer/page`) **用途**:四类客户池共用的主列表接口,通过 `customerType` 切换线索 / 意向 / 成交 / 公海 / 黑名单视图。 **请求参数**(`CustomerQueryDTO`,请求体经 AES 加密) | 字段 | 类型 | 必需 | 说明 | | --- | --- | --- | --- | | `current` / `size` | long | 是 | 分页页码 / 每页条数(继承自 `Page`) | | `customerType` | int | 是 | 客户位置:`0`–`5` 主池,`10`–`16` 扩展视图 | | `queryType` | int | 否 | 查询范围:`0` 所有客户、`1` 我的客户、`2` 团队可见客户、`3` 所有广告客户、`4` 我的广告客户、`5` 团队广告客户 | | `newCreateQueryType` | int | 否 | 来源类型:`0` 广告新客户、`1` 广告再分配客户、`2` 导入新客户、`3` 导入再分配 | | `publicTeamId` | long | 否 | 公海 ID(`0` 为企业公海);查询公海客户时使用 | | `deptId` / `userId` | long | 否 | 按部门 / 员工过滤 | | `params` | array | 否 | 运算符搜索参数集合(字段 + 运算符 + 值) | | `order` | array | 否 | 排序项,元素含 `column`(驼峰字段名)与 `asc` | | `queryCondition` | string | 否 | 客户名称 / 电话号码 / 微信号模糊查询 | | `source` | long | 否 | 来源 ID | | `area` | string | 否 | 地区编码(常驻地区 / 单位地区) | | `forget` | int | 否 | 遗忘类型:`0` 三天内即将转公海、`1` 客户待回访预警、`2` 客户回访逾期 | **响应参数**:`R<Page<PublicResponseVO>>`,含客户基础信息、客户位置、跟进人、状态、星级、来源、公海信息等。 **注意事项** - 租户查询线索 / 意向客户时,若「接待签单融合」规则启用,服务端会自动追加按领取时间倒序的排序。 - 若只传入一个排序项,服务端会自动追加 `customer__id` 排序,避免翻页数据漂移。 ### 3.2 客户详情(`GET /law/customer/{id}`) | 接口 | 说明 | | --- | --- | | `POST /law/customer/getCustomerListByIdList(V2)` | 按 ID 集合批量查询 | ### 3.3 按筛选条件批量修改(`POST /law/customer/updateByQuery`) **用途**:按当前筛选条件批量更新客户字段(含客户位置流转),异步执行。 **请求参数**:`CustomerQueryDTO`。 **前置校验**:必须指定 `area`(地区)或 `source`(来源)之一,否则返回「请选择地区或来源」。 **注意事项**:接口立即返回 `code = 0`(任务已提交),实际处理为异步,结果需通过客户列表或操作动态核对。 ### 3.4 按筛选条件批量删除(`POST /law/customer/deleteByQuery`、`/deleteByQueryV2`) **用途**:按筛选条件批量删除客户,内部按 1000 条分页循环处理。 **限制**:成交客户(`customer_type = 3`)不会被删除;若最终删除数为 0,返回「没有可删除的数据(成交客户不能删除)」,否则返回「成功删除 N 个客户」。 --- ## 四、线索客户与意向客户 ### 4.1 线索客户转意向客户(`PUT /law/customer/clueToIntention`) **请求体**:客户 ID 的 JSON 数组。 ```json [1864512379482210305, 1864512379482210306] ``` **处理逻辑** | 步骤 | 处理内容 | | --- | --- | | 1 | 请求体非空校验,为空返回「请选择要修改的数据」 | | 2 | 仅保留 `customer_type = 1`(线索客户)的记录;若一条都不符合,返回「传入客户存在不是线索客户」 | | 3 | 更新 `customer_type = 2`(意向客户)、`all_status = 1`(进入所有客户菜单)、`follow_source = 9`(线索池转入)、`manager_time` / `un_follow_time` 为当前时间、清空 `expected_public_time` | | 4 | 写入客户操作动态:`线索客户 → 意向客户` | | 5 | 重算自动转公海时间 | **响应**:`R`,`code = 0` 成功。 ### 4.2 意向客户转线索客户(`PUT /law/customer/intentionToClue`) **请求体**:客户 ID 的 JSON 数组。 **处理逻辑**:与 4.1 对称——仅处理 `customer_type = 2` 的记录,改为 `customer_type = 1`,`follow_source = 10`(意向客户转入),并记录 `意向客户 → 线索客户` 动态;不符合条件的返回「传入客户存在不是意向客户」。 ### 4.3 转成交客户(`PUT /law/customer/transferDealCustomer`) **请求体**:客户 ID 的 JSON 数组。 **处理逻辑** | 步骤 | 处理内容 | | --- | --- | | 1 | 查询传入客户;若均不存在(已删除)返回「传入客户不存在或已删除」 | | 2 | 更新 `customer_type = 3`(成交客户)、`all_status = 1`、清空 `expected_public_time` | | 3 | 写入客户操作动态:`XX客户 → 成交客户` | **注意事项** - 转为成交后,该客户**不可再转公海**,也不可被 `deleteByQuery` 删除。 - 成交客户如需流转跟进人,使用 `PUT /law/customer/operate/success/followTransfer`(成交客户跟进人转移)。 ### 4.4 客户状态与星级维护 | 方法 | 路径 | 说明 | | --- | --- | --- | | `PUT` | `/law/customer/updateCustomerStatus` | 维护客户状态(字典 `customer_status`) | | `PUT` | `/law/customer/updateCustomerImportant` | 维护客户星级(重要程度 `0`–`5`) | | `POST` | `/law/customer/updateCustomerLabel` | 维护客户标签 | --- ## 五、公海客户 ### 5.1 转入公海(`PUT /law/customer/transferToPublic`) **请求参数**(`CustomerToPublicDto`,请求体经 AES 加密) | 字段 | 类型 | 必需 | 说明 | | --- | --- | --- | --- | | `type` | int | 是 | 操作方式:`0` 选中数据、`1` 符合搜索结果的指定数量客户 | | `customerIds` | array | 条件必需 | `type = 0` 时必填,为空返回「请选择客户」 | | `publicTeamId` | long | 是 | 目标公海:`0` 企业公海,其余为团队公海 ID | | `customerType` | int | 是 | 当前客户位置(配合筛选条件使用) | | `params` | array | 否 | 运算符搜索参数集合 | | `queryType` | int | 否 | 查询范围:`0` 全部、`1` 自己、`2` 团队 | | `newCreateQueryType` | int | 否 | 来源类型:`0`–`3`(广告 / 导入 × 新客户 / 再分配) | **处理逻辑与前置校验** | 步骤 | 校验 / 处理 | 失败表现 | | --- | --- | --- | | 1 | 目标公海必须在当前用户数据权限(企业公海 / 团队公海)内 | 「没有被转入公海的权限,无法把客户转入该公海」;无任何公海权限返回「没有任意企业公海或团队公海权限,无法把客户转入公海」 | | 2 | 过滤客户:**锁定客户**与**成交客户**不参与转移 | 全部被跳过时返回「当前查询条件下没有客户可以操作」 | | 3 | 可转移客户更新为公海:`customer_type = 4`、`public_time = 当前时间`、`public_type = 1`(手动)、`public_team_id = 目标公海`、清空协助人、跟进/通话/接通计数归零 | — | | 4 | **黑名单客户转公海即视为移出黑名单**,写入「移出黑名单:黑名单 → XX 的{公海名}」动态 | — | | 5 | 写入「客户手动转入公海:{原客户位置} → {公海名}」动态;处理 CP 关联状态 | — | **响应**:`R`,`msg` 形如「成功转移 N 个客户到公海,跳过 M 个锁定客户,跳过 K 个成交客户」。 > 内部调用版本:`PUT /law/customer/transferToPublicAdvanceRpc`(`@Inner`,需传 `tenantId`、`userId`)。 ### 5.2 公海领取(`PUT /law/customer/operate/publicSeaDrawDown`) **请求参数**(`CustomerPublicSeaDTO`) | 字段 | 类型 | 必需 | 说明 | | --- | --- | --- | --- | | `ids` | array | 是 | 客户 ID 列表,为空返回「请选择数据」 | | `customerType` | int | 是 | 领取后进入的客户池(`1` 线索 / `2` 意向) | **处理逻辑** | 步骤 | 处理内容 | | --- | --- | | 1 | 校验客户是否存在且处于公海(`customer_type = 4`),否则返回「客户不存在或不在公海」 | | 2 | 校验当前用户角色与数据权限 | | 3 | 读取公海领取规则(`optionType = 14`):是否启用、按角色匹配的领取条数上限、原始跟进人优先等规则 | | 4 | 通过后把客户分配给领取人,`follow_source = 13`(公海领取),并写入客户操作动态 | **响应**:`R`;失败时 `msg` 会拼接具体原因(如「部门客户不存在或已转出公海、」)。 > 跨服调用版本:`PUT /law/customer/operate/publicSeaDrawDownRpc`(`@Inner`,需传 `tenantId`、`userId`)。 ### 5.3 公海分配(`POST /law/public/distribute/publicDistribute`) **用途**:由管理员按规则把公海客户批量派发给指定员工。 | 方法 | 路径 | 说明 | | --- | --- | --- | | `POST` | `/law/public/distribute/getPublicDistributeNum` | 获取待公海分配客户数量 | | `POST` | `/law/public/distribute/publicDistributeTest` | 公海分配预测(返回每个员工的预计分配量) | | `POST` | `/law/public/distribute/publicDistribute` | 执行公海分配 | **请求参数**(`TransferDTO`,见第七节) **关键入参约定** | 字段 | 取值 | 说明 | | --- | --- | --- | | `fromCustomerType` | `4` | 来源为公海客户 | | `otherCustomerType` | `1` / `2` | 公海客户分配后进入线索 / 意向 | | `publicTeamId` | `0` 或团队 ID | 指定取数的公海范围 | | `users[].transferNum` | int | 每个员工的分配数量 | | `method` | `0` / `1` | 平均分配 / 打乱分配 | ### 5.4 团队公海并入企业公海(`POST /law/customer/updatePublicToFirstTeam`) **用途**:把指定团队公海中的客户统一并入企业公海(`public_team_id = 0`)。 **请求参数** | 字段 | 位置 | 说明 | | --- | --- | --- | | `ids` | query | 团队公海 ID,多个以英文逗号分隔;为空返回「团队配置ids参数不能为空」 | **处理逻辑**:把 `customer_type = 4` 且 `public_team_id in (ids)` 的客户 `public_team_id` 置为 `0`。 ### 5.5 自动转公海与自动分配(定时任务) | 任务 | 说明 | | --- | --- | | `AutoPublicJob` | 按租户公海规则,把满足条件(`expected_public_time` 到期、未跟进等)的线索 / 意向客户自动转入公海,`public_type = 0`(自动) | | `AutoDistributePublicCustomerJob` | 按公海分配规则自动把公海客户分配给员工,`targetCustomerType` 缺省为 `1`(线索客户) | | `UpdateAutoPublicTimeService` | 客户跟进 / 状态变化后重算 `expected_public_time` | > 「三天内即将转公海」的客户可通过客户列表 `forget = 0` 查询,用于提前预警。 --- ## 六、黑名单客户 ### 6.1 拉黑客户(`PUT /law/customer/operate/shield`) **请求参数**(`CustomerShieldDTO`,请求体经 AES 加密) | 字段 | 类型 | 必需 | 说明 | | --- | --- | --- | --- | | `customerIds` | array | 是 | 客户 ID 列表,为空返回「请选择客户」 | | `reason` | string | 是 | 拉黑原因,必填且长度 ≤ 100(超长提示「拉黑原因最大长度100」) | **处理逻辑** | 步骤 | 处理内容 | | --- | --- | | 1 | 过滤客户:**成交客户不可拉黑**,会被跳过 | | 2 | 可拉黑客户更新为 `customer_type = 5`(黑名单客户)、`all_status = 0`(退出所有客户菜单)、写入 `black_reason` / `black_time` / `black_user_id`、清空协助人 | | 3 | 若客户处于锁定状态,拉黑时**自动解锁**并写入「取消锁定」动态 | | 4 | 写入「XX 拉黑了 XX,拉黑原因:XX」客户动态 | **响应**:`R`,`msg` 形如「成功拉黑 N 条客户,跳过 M 条不符合拉黑条件客户」。 **注意事项** - 拉黑后客户不再参与分配。 ### 6.2 移出黑名单 代码中没有独立的「解除拉黑」接口,业务上通过以下两条路径移出: | 路径 | 接口 | 效果 | | --- | --- | --- | | 转公海 | `PUT /law/customer/transferToPublic` | 黑名单客户 → 公海客户(`customer_type = 4`),写入「移出黑名单」动态;之后再通过公海领取 / 公海分配派发 | | 直接分配 | `POST /law/customer/distribute/managerDistribute`、`POST /law/allCustomer/operate/managerTransfer` | 通过 `fromCustomerType = 5` + `otherCustomerType = 1` / `2`,把黑名单客户直接转为线索 / 意向并派发给员工,跟进来源记为 `14`(黑名单转入) | ### 6.3 锁定与解锁(`PUT /law/customer/operate/lock`) **请求参数**(`CustomerLockDTO`) | 字段 | 类型 | 必需 | 说明 | | --- | --- | --- | --- | | `id` | long | 是 | 客户 ID | | `isLock` | int | 是 | 是否锁定:`0` 否、`1` 是 | | `lockStartTime` | datetime | 否 | 锁定开始时间 | | `lockEndTime` | datetime | 否 | 锁定结束时间 | **注意事项** - 锁定客户**不会被转入公海**(转公海时被跳过并计数)。 - 锁定客户被拉黑时会自动解锁。 --- ## 七、分配与转移通用接口 ### 7.1 通用入参(`TransferDTO`) | 字段 | 类型 | 必需 | 说明 | | --- | --- | --- | --- | | `type` | int | 是 | 分配方式:`0` 选中数据、`1` 符合搜索结果的指定数量、`2` 搜索结果前 N 条 | | `count` | int | 否 | `type = 2` 时的条数 | | `fromCustomerType` | int | 是 | 当前客户位置:`0` 待分配、`1` 线索、`2` 意向、`3` 成交、`4` 公海、`14` 全部客户、`99` 所有客户 | | `targetCustomerType` | int | 是 | 转移后位置:`0` 待分配、`1` 线索、`2` 意向、`99` 线索 / 意向客户 | | `otherCustomerType` | int | 否 | 「待分配 / 公海 / 黑名单」数据转移到:`1` 线索、`2` 意向 | | `method` | int | 是 | 分配方式:`0` 平均分配、`1` 打乱分配 | | `users` | array | 是 | 目标员工集合(`TransferUserDTO`),不能为空 | | `customerIds` | array | 否 | 指定分配的客户 ID 集合 | | `publicTeamId` | long | 否 | 公海 ID,`0` 表示企业公海 | | `params` | array | 否 | 运算符搜索参数集合 | | `queryType` | int | 否 | 查询范围:`0` 全部、`1` 自己、`2` 团队 | | `newCreateQueryType` | int | 否 | 来源类型:`0`–`3` | | `deptId` / `userId` | long | 否 | 按部门 / 员工过滤 | `users` 元素(`TransferUserDTO`)关键字段:`userId`、`userName`、`deptId`、`transferNum`(本次转移数量)、`maxCustomerNum`(最大客户数)、`nowCustomerNum`(当前客户数)、`allowTransferNum`(本次允许分配数量)、`leave`(是否请假)。 ### 7.2 待分配客户分配(`POST /law/customer/distribute/managerDistribute`) | 方法 | 路径 | 说明 | | --- | --- | --- | | `POST` | `/law/customer/distribute/getUserListByDeptIds` | 按部门取员工列表与客户容量 | | `POST` | `/law/customer/distribute/getDistributeNum` | 获取待分配客户数量 | | `POST` | `/law/customer/distribute/managerDistributeTest` | 分配预测(返回每个员工预计分配量) | | `POST` | `/law/customer/distribute/managerDistribute` | 执行分配 | | `POST` | `/law/customer/distribute/successDetail` | 分配成功明细(分页) | **典型用法** | 场景 | 入参要点 | | --- | --- | | 待分配 → 线索 | `fromCustomerType = 0`、`targetCustomerType = 1` | | 公海 → 意向 | `fromCustomerType = 4`、`targetCustomerType = 2` | | 黑名单 → 线索 | `fromCustomerType = 5`、`otherCustomerType = 1` | ### 7.3 跟进人转移(`POST /law/customer/operate/managerTransfer`) | 方法 | 路径 | 说明 | | --- | --- | --- | | `POST` | `/law/customer/operate/getUserListByDeptIds` | 按部门取员工与容量 | | `POST` | `/law/customer/operate/getTransferNum` | 获取待转移客户数量 | | `POST` | `/law/customer/operate/managerTransferTest` | 转移预测 | | `POST` | `/law/customer/operate/managerTransfer` | 批量转移跟进人 | | `POST` | `/law/customer/operate/managerTransferSingle` | 单个客户转移跟进人 | ### 7.4 全部客户分配 / 转移(`POST /law/allCustomer/operate/managerTransfer`) | 方法 | 路径 | 说明 | | --- | --- | --- | | `POST` | `/law/allCustomer/operate/getTransferNum` | 全部客户待转移数量 | | `POST` | `/law/allCustomer/operate/managerTransferTest` | 转移预测 | | `POST` | `/law/allCustomer/operate/managerTransfer` | 全部客户分配 / 转移 | **注意事项** - 全部客户视图下,黑名单客户的转移会写入「客户从黑名单转移到员工 XX 的{菜单名}」动态。 ### 7.5 其它客户操作 | 方法 | 路径 | 说明 | | --- | --- | --- | | `PUT` | `/law/customer/operate/help/save`、`/help/cancel` | 新增 / 取消协助人 | | `PUT` | `/law/customer/operate/receptionTransfer` | 接待人 / 拜访人转移 | | `PUT` | `/law/customer/operate/success/followTransfer` | 成交客户跟进人转移 | | `POST` | `/law/customer/operate/deleteByResult` | 按搜索结果批量删除 | --- ## 八、统计接口 | 方法 | 路径 | 说明 | | --- | --- | --- | | `POST` | `/law/customer/operate/newCustomerCount` | 客户列表统计(按客户位置的各段数量) | | `POST` | `/law/customer/operate/newCustomerCountAsyn` | 客户列表统计(异步) | | `POST` | `/law/customer/operate/newCustomerCountV2` | 按 `type` 维度统计 | | `POST` | `/law/customer/countByUserIds` | 统计员工现有客户数量(`@Inner`) | | `POST` | `/law/customer/getRepeatCount` | 重复客户数查询 | **统一客户分析口径**:客户分析(`/law/stat`)中的漏斗维度为「线索数、意向客户数、成交客户数、掉入公海数、黑名单数」;员工绩效口径中,上门率 / 成交转化率的分母为「客户数 + 转入公海客户数 + 拉黑客户数」。 --- ## 九、常见问题 | 现象 | 可能原因 | 处理建议 | | --- | --- | --- | | 客户列表返回空 | `customerType` 传成了扩展视图值(如 `14`)但无对应数据权限 | 先用 `customerType = 1/2/4/5` 验证主池,再切换扩展视图 | | 「传入客户存在不是线索客户」 | 勾选的数据里混入了非线索客户 | 先按 `customerType = 1` 过滤再操作 | | 转公海提示「跳过 N 个锁定客户」 | 客户处于锁定状态 | 先解锁(`/law/customer/operate/lock`,`isLock = 0`)再转公海 | | 转公海提示「跳过 N 个成交客户」 | 成交客户不允许转公海 | 成交客户只能保持或由管理员单独处理 | | 公海领取提示「客户不存在或不在公海」 | 客户已被他人领取或已转出公海 | 刷新列表后重试 | | 拉黑失败「符合拉黑条件客户不存在」 | 勾选的全是成交客户或已删除客户 | 确认客户位置后再拉黑 | | 黑名单客户无法重新派发 | 未执行移出黑名单 | 通过转公海或分配接口(`fromCustomerType = 5` + `otherCustomerType`)移出 | | 「请选择地区或来源」 | `updateByQuery` 未指定 `area` 或 `source` | 补齐筛选条件 | | 「没有可删除的数据(成交客户不能删除)」 | 筛选结果仅含成交客户 | 调整筛选条件 |
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码