一、功能介绍
自定义客户类型按已验签企微企业隔离,可维护名称、排序号和备注,并保存企业级总开关。页面虽然提示“新增或编辑后次日 0 点生效”,但实现没有待生效版本或定时任务:所有变更都是立即写库,“次日 0 点生效”提示与实现不一致。同时,客户记录保存的是类型名称字符串而非类型 ID,重命名和删除不会自动迁移历史客户。
二、功能亮点
- 列表按排序号升序、同排序号按较新 ID 在前展示。
- 名称在页面限制为 1–4 个字符,备注最多 200 个字符,排序号最小为 0。
- 新增类型默认单条状态为启用。
- 列表显示名称、排序、状态、备注、创建时间和编辑/删除操作。
- 读取需要 `CUSTOMER_TYPE_VIEW`,新增、编辑、删除和总开关需要 `CUSTOMER_TYPE_MANAGE`。
- 后端按 `authCorpId` 查询详情、列表、更新、删除和开关配置。
三、使用场景
适用于为未来客户录入定义简短、稳定且互不混淆的分类名称,例如渠道身份或经营分层。因为既有客户只保存名称文本,类型一旦投入使用就应视为稳定字典;重命名或删除前必须先完成引用盘点和迁移方案。
四、使用权限
- 进入页面并读取列表、详情和总开关需要客户销售专区授权与 `CUSTOMER_TYPE_VIEW`。
- 新增、编辑、删除和更新全局开关由后端强制要求 `CUSTOMER_TYPE_MANAGE`;前端也用该键控制三个行级按钮。
- 页头全局开关没有前端权限判断,无管理权限用户仍可点击,但后端会拒绝;不要把开关的瞬时视觉状态当作保存成功。
- 类型配置和开关按 `authCorpId` 隔离,只能作用于当前已验签企业。
五、前置条件
- 建立类型字典台账,明确每个名称的定义、适用场景、负责人和是否已经被客户使用。
- 名称控制在 4 个字符以内并去除首尾空格;后端只校验非空,不执行页面长度限制,也不会 trim 后再保存。
- 备注控制在 200 个字符以内,排序使用非负整数,状态只使用 0/1;这些约束后端不会完整复核。
- 查询客户表 `customer_type_name` 的现有值,确认是否存在准备重命名或删除的名称。
- 为同排序号定义稳定规则;页面最终以较新 ID 在前,不能仅凭视觉顺序表示业务等级。
- 确认变更会立即写库,不要等待次日 0 点;在操作窗口内准备即时验证。
六、操作步骤
- 进入「客户管理 → 类型管理」。先核对页头总开关和列表总数;列表默认每页 20 条,可切换 10、20 或 50 条。
- 当前页面没有名称搜索框;类型较多时使用分页逐页查找,或由有权限人员通过后端 keyword 接口核对。
- 点击「新增客户类型」,输入不超过 4 个字符的名称。后端不检查同企业重名,保存前必须人工确认列表中没有相同显示名称。
- 填写排序号,0 或更小的非负数字更靠前;相同排序号按 ID 倒序。
- 填写最多 200 个字符的备注,用于解释口径而不是保存敏感客户数据。
- 点击「确定」。新增成功后立即重新加载列表;不要按页面提示等待次日,因为后端没有延迟生效机制。
- 编辑时可修改名称、排序、备注和单条“是否启用”开关;保存后列表状态列即时更新。
- 如需清空已有备注,当前页面把空字符串转换为 undefined,后端会保留旧值;页面当前无法清空已有备注。不要用空格伪装清空。
- 重命名前先迁移既有客户。客户表保存 `customer_type_name` 字符串,重命名不会批量更新既有客户的旧类型名称。
- 删除时阅读二次确认中的类型名称。删除前不会检查客户引用,确认后只物理删除类型配置,既有客户字符串不会被清空或迁移。
- 关闭总开关时页面会要求二次确认;开启则直接提交。开关关闭后客户列表与公海会隐藏客户类型列与筛选,类型选择接口返回空。
- 每次变更后立即刷新类型列表,再到《查看和筛选客户》核对新录入和历史客户;分别记录配置表结果与客户字符串结果。
七、字段与规则说明
- 列表、详情、保存、删除和总开关配置均按当前企业隔离。
- 页面名称必填且最多 4 个字符,排序号最小为 0,备注最多 200 个字符。
- 后端只校验名称非空,不检查同企业重名,不 trim 保存值,也不强制名称 4 字或备注 200 字上限。
- 直接保存接口可写负排序和任意 enabled 整数;页面只把 enabled=1 显示为启用,其余值统一显示禁用。
- 列表 pageSize 只取大于等于 1,没有最大值;直接接口可请求超大分页。
- 新增记录默认 `enabled=1`;编辑弹窗提供单条启用开关,状态列随保存结果刷新。
- “次日 0 点生效”提示与实现不一致,所有变更都是立即写库。
- 重命名不会批量更新既有客户的旧类型名称。
- 删除前不会检查客户引用,既有客户字符串不会被清空或迁移。
- 创建人和更新人固定写为 `system`,不能作为真实操作者审计证据。
- 空备注不会覆盖旧备注,当前页面无法清空已有备注。
- 当前页面没有名称搜索框,后端 keyword 能力未接入界面。
八、风险与限制
重名类型会造成选择歧义;重命名或删除已使用类型会把配置字典与历史客户字符串分裂,影响筛选和报表口径。误以为变更次日才生效可能错过即时影响。
注意
把客户类型当作稳定数据字典。新增前查重,重命名或删除前先盘点并迁移 `customer_type_name`,操作后立即验证。不要依赖次日生效提示或 `system` 审计字段证明业务结果。
九、常见问题
- 为什么保存后立即变化?后端直接写库,没有次日调度。
- 怎么单独停用一个类型?编辑该类型,在弹窗中关闭“是否启用”后确定,状态列即变为禁用。
- 为什么有两个同名类型?后端不做同企业重名校验。
- 为什么直接接口保存的名称带空格?后端验证非空后原样保存,不执行 trim。
- 为什么状态出现异常值?后端保存不限制 enabled 为 0/1,页面只把 1 显示为启用。
- 为什么备注删空后又出现旧内容?页面不提交空字符串,旧备注被保留。
- 重命名会更新历史客户吗?不会,客户保存名称字符串。
- 删除会清理客户吗?不会,只物理删除配置。
- 为什么没有搜索框?后端 keyword 未接入页面。
- 创建人为什么是 system?后端固定写 system。
十、相关指南
变更后通过《查看和筛选客户》核对历史与新增客户的类型字符串,并在《配置客户公海规则》中检查是否存在依赖客户类型名称的运营规则。
说明
页面入口:/customer/customer-type