数据标签需求.md 17 KB

一、需求背景

汇丰银行后台需要基于客户数据标签筛选目标客群,用于权益投放、活动触达、名单圈选等业务场景。

当前《汇丰借记卡权益》PRD 中,"展示客群限制""领取客群限制"依赖标签 ID 关联客群,但标签本身的创建、编辑、维护能力缺失。本需求补齐客户数据标签的后台管理能力,支持运营人员通过可视化方式按客户属性组合规则,生成可被其他业务模块引用的标签。

二、需求列表

(一)后台

入口:定制功能 → 汇丰银行 → 标签管理

  1. 标签列表

  2. 新建标签

  3. 编辑标签

  4. 查看标签

  5. 删除标签

  6. 启用 / 停用标签

三、需求详述

(一)业务流程

flowchart TD
    A[运营人员进入标签管理] --> B{操作类型}
    B -->|新建/编辑| C[填写标签名称与描述]
    C --> D[新增规则组]
    D --> E[组内新增规则]
    E --> E1[选择参数]
    E1 --> E2{参数是否含历史月末值?}
    E2 -->|是| E3[选择时间窗口与聚合方式]
    E2 -->|否| E4[跳过]
    E3 --> E5[选择运算符]
    E4 --> E5
    E5 --> E6[填写/选择比较值]
    E6 --> F{继续新增规则?}
    F -->|是| E
    F -->|否| G[设置组内关系 且/或]
    G --> H{继续新增规则组?}
    H -->|是| D
    H -->|否| J[保存标签]
    J --> K[标签可在权益/活动配置中引用]
    B -->|查看| L[只读展示规则]
    B -->|删除| M{是否被业务引用?}
    M -->|是| M1[阻止删除, 提示先解除引用]
    M -->|否| M2[二次确认, 软删除]
    B -->|启用/停用| N[状态切换, 实时生效]

(二)后台

菜单入口:liso 定制功能 → 汇丰银行 → 标签管理

1. 标签列表

(1)筛选条件

字段名称 字段类型 是否必填 说明
标签名称 文本输入框 模糊搜索
标签 ID 文本输入框 精确匹配
状态 下拉选择 全部 / 启用 / 停用,默认"全部"
创建时间 日期范围 起止日期,格式 Y-m-d
创建人 文本输入框 模糊搜索创建人姓名/账号

(2)操作按钮

  • 查询:按筛选条件查询

  • 重置:清空筛选条件

  • 新建标签:打开【新建标签】页面

(3)列表字段

字段名称 说明
操作 • 查看:查看标签详情
• 编辑:编辑标签
• 删除:软删除该标签
• 启用 / 停用:切换标签状态
标签 ID 系统生成,唯一,可复制
标签名称 运营定义的名称
标签描述 标签用途说明,超出省略
规则摘要 "规则组数 / 规则总数",如 2 组 / 5 条
状态 启用 / 停用
创建人 / 创建时间 展示姓名与 Y-m-d H:i:s
最后更新人 / 更新时间 展示姓名与 Y-m-d H:i:s
引用数 该标签被权益、活动等引用的次数,点击可查看引用明细

(4)分页

  • 默认每页 20 条

  • 支持首页、上一页、下一页、末页、跳转至指定页

2. 新建标签

采用单页表单布局:基础信息 + 规则配置

2.1 基础信息

字段名称 字段类型 是否必填 说明
标签名称 文本输入框 最长 40 字符,同一渠道下不可重复
标签描述 文本域 最长 200 字符,便于识别标签用途
状态 开关(Toggle) 默认开启

2.2 规则配置

规则采用"规则组 + 规则"两级嵌套结构:

  • 规则组之间:固定为 且(AND)

  • 规则组内部:可切换为 且(AND)或(OR)

(1)规则组管理

  • 新增规则组:页面右上角"+ 新增规则组"按钮;新建标签时默认已有 1 个空规则组

  • 删除规则组:每个规则组右上角提供删除按钮;至少保留 1 个规则组,最后一个不可删除

  • 复制规则组:复制当前组的全部规则到新规则组(含组内关系设置)

(2)规则管理(组内)

  • 新增规则:规则组底部"+ 新增规则"按钮;新建规则组时默认已有 1 条空规则

  • 删除规则:每条规则末尾提供删除按钮;每组至少保留 1 条规则

  • 组内关系:规则组头部切换"且 / 或"

(3)单条规则配置

每条规则包含四段输入:参数 → 时间窗口(仅历史值参数) → 运算符 → 比较值

输入段 控件 说明
参数 级联下拉 / 搜索下拉 按分组展示(客户基础 / 资产 / 尊尚与私行 / 跨境资格 / MGM / 投资偏好 / 行为触点),支持中文、参数名双向搜索。详见【附录 A:参数清单】
时间窗口 动态下拉组合 仅当参数含"近 12 个月月末值"变体时展示:
取值方式:当前值 / 指定某月 / 近 N 个月(N=1-12)
聚合方式(取值方式为"近 N 个月"时):任一月满足 / 所有月满足 / 至少 M 个月满足 / 平均值 / 最大值 / 最小值(后三项仅数值类型支持)
运算符 下拉 根据参数类型动态展示可选项。详见【附录 B:运算符清单】
比较值 动态控件 根据运算符类型切换输入控件:
• 单值:文本 / 数字 / 日期选择器 / 布尔下拉(真/假)
• 多值:多选下拉 或 以逗号分隔的批量输入
• 区间:两个输入框或区间选择器
• 为空 / 不为空:不需要输入

参数取值规则:

  • 参数类型为枚举(如私行权益标签、客户持有定存种类、资产大类明细等)时,运算符与比较值均使用枚举选择器,避免手工输入错误

  • 比较值输入需与参数类型一致:BigDecimal 仅允许数字;YYYY-MM-DD 仅允许日期;Boolean 使用"真/假"下拉选择

2.3 操作按钮

  • 取消:若有未保存修改则二次确认"未保存内容将丢失,确认退出?";否则直接返回列表

  • 保存:校验必填项与规则完整性,通过后持久化;保存成功 toast "保存成功"并返回列表

3. 编辑标签

  • 入口:列表"编辑"按钮

  • 字段同【新建标签】,标签 ID 不可编辑

  • 若标签已被业务引用(引用数 > 0),保存时二次确认:"该标签已被 N 个权益/活动引用,修改后将影响其客群匹配,确认保存?"

  • 操作按钮:取消 / 保存(同新建)

4. 查看标签

  • 入口:列表"查看"按钮

  • 字段同【编辑标签】

  • 所有输入框、选择框、按钮(新增规则组 / 新增规则 / 删除)禁用

  • 仅展示【返回】按钮

5. 删除标签

  • 入口:列表"删除"按钮

  • 引用数 > 0:弹窗提示"该标签已被 N 个权益/活动引用,请先在对应业务中解除引用后再删除",仅显示"我知道了"按钮,阻止删除

  • 引用数 = 0:弹窗二次确认"确定要删除标签「XXX」吗?删除后无法恢复"

    • 确定:软删除(保留数据用于审计),列表不再展示

    • 取消:关闭弹窗

6. 启用 / 停用

  • 入口:列表"启用"/"停用"按钮

  • 启用 → 停用:弹窗二次确认"停用后,引用该标签的业务将视为该客群不命中,确认停用?"

  • 停用 → 启用:无需确认,直接切换

  • 状态变更实时生效

7. 状态定义

状态 说明 可执行操作
启用 参与客户匹配,可被业务引用 查看 / 编辑 / 停用 / 删除(引用数=0 时)
停用 不参与匹配,引用方视为未命中 查看 / 编辑 / 启用 / 删除(引用数=0 时)

(三)校验与异常

  • 标签名称:必填、长度 ≤ 40、同渠道下唯一;重复时提示"标签名称已存在"

  • 规则组:至少 1 个;每组至少 1 条完整规则

  • 规则完整性:参数、运算符、比较值(除"为空/不为空"外)均不得为空

  • 数值比较值:须可解析为数字;"区间"运算符要求下限 ≤ 上限

  • 日期比较值:格式须与参数格式匹配(YYYY-MM-DDYYYY-MM

  • 枚举比较值:仅允许枚举内取值

  • 时间窗口参数近 N 个月的 N 取值 1-12;至少 M 个月的 M 不得大于 N

  • 并发编辑:以保存时间戳为准,后保存覆盖先保存;列表展示最后更新人与时间,便于追溯

  • 删除保护:引用数 > 0 的标签不可删除

  • 接口异常:保存 / 预估接口异常时 toast 报错并保留当前输入,不清空表单

附录 A:参数清单

所有参数仅在存在数据时返回;标签匹配时参数值为空则该条规则判为不匹配(除非运算符为"为空")。

A.1 客户基础与身份

中文名 参数名 类型 历史值 说明 / 取值
客户 MSC Group mscGroup / mscGroupList String / List 历史值:近 12 个月月末值 [{"date":"2025-03","mscGroup":"xxx"}, ...]
客户类型 MSC mscCode / mscCodeList String / List 历史值:近 12 个月月末值 [{"date":"2025-03","mscCode":"xxx"}, ...]
Current MSC entry date currentMscEntryDate String (YYYY-MM-DD)
当前 MSC 生效起始日期
客户 MOB 值(含信用卡) mob String
取值:0 / 1 / 2 / 3 / 4 / 5 / 6 / …
First contact date firstContactDate String (YYYY-MM-DD)

开户时间 openDate String (YYYY-MM-DD)

城市 city String

RM 类型 rmType String

客户姓名 customerName String

A.2 资产与持有

中文名 参数名 类型 历史值 说明 / 取值
End of day balance(所有资金含产品) endOfBalance / endOfBalanceList BigDecimal / List 历史值:近 12 个月月末值 [{"date":"2025-03","endOfBalance":"xxx"}, ...]
TRB 值 - Avg TRB 口径(含家庭账户余额) avgTrbIncludingHousehold / avgTrbIncludingHouseholdList BigDecimal / List 历史值:近 12 个月月末值
TRB 值 - Avg TRB 口径(不含家庭账户余额) avgTrbExcludingHousehold / avgTrbExcludingHouseholdList BigDecimal / List 历史值:近 12 个月月末值
资产大类明细 assetCategoryDetails String(多选)
1-9 依次表示,多个英文逗号分隔:
1 存款(定期 / 通知 / 个人大额存单)
2 结构性存款(自有)
3 基金相关产品(代客境外理财海外基金 / 代销内地证券投资基金 / 代销香港互认基金)
4 理财产品(代销)
5 代客境外理财海外债券型 / 结构性票据型(自有)
6 资产管理计划(代销)
7 信托计划(代销)
8 保险产品(代销)
9 预留
客户持有定存种类 fixedDepositTypes String(多选)
1-5 依次表示,多个英文逗号分隔:
1 不持有定存
2 持有普通定存(美金)
3 持有普通定存(人民币)
4 持有普通定存(其他币种)
5 持有大额存单(人民币)

A.3 尊尚 / 私行

中文名 参数名 类型 历史值 说明 / 取值
近 6 个月是否符合尊尚资格 isQualifiedLast6Months Boolean

私行权益标签 privateBankTag String
取值:银辉 / 金曜 / 钻皓私人银行客户
首次升级尊尚的时间 firstUpgradePremierDate String (YYYY-MM-DD)

私行 ID 卓越理财尊尚编号 privateBankId String

尊尚资格到期日 premierValidityDate String (YYYY-MM-DD)

首次达标日期 firstAchievementDate String (YYYY-MM)

首次升级为 PB 的日期 firstPBUpgradeDate String (YYYY-MM)

PB 活动参与白名单 isPbActivityWhitelisted Boolean

A.4 跨境资格(1+1)

中文名 参数名 类型 历史值 说明
是否为 1+1 CN-HK 双边客户 isCrossBorderHK Boolean

是否为 1+1 CN-SG 双边客户 isCrossBorderSG Boolean

是否为 HK qualifier isHKQualifier Boolean

New to 1+1 CN-HK qualifier 时间 cnHkQualifierDate String (YYYY-MM)

是否为 SG qualifier isSGQualifier Boolean

New to 1+1 CN-SG qualifier 时间 cnSgQualifierDate String (YYYY-MM)

A.5 MGM / 推荐关系

中文名 参数名 类型 历史值 说明
某自然月成功推荐人数 monthlySuccessfulReferrals List 近 12 个月 [{"date":"2025-03","successfulReferrals":"xxx"}, ...]
某自然年成功推荐人数总数 yearlySuccessfulReferrals List 近 N 年 [{"date":"2024","successfulReferrals":"xxx"}, ...]
是否被成功推荐来开户且达标 isReferredAndQualified Boolean

MGM case ID mgmCaseId String

某自然月推荐人数 monthlyReferrals List 近 12 个月
某自然年推荐人数 yearlyReferrals List 近 N 年
推荐关系 referralRelation List
[{customerId:"xxx"}, ...];通过被推荐人客户号查询其数据

A.6 投资偏好

中文名 参数名 类型 历史值 说明
客户持有 valid RPQ 等级 validRpq String
取值:0 / 1 / 2 / 3 / 4 / 5 / NA
Prospects Needs prospectsNeeds Boolean

A.7 行为与触点

中文名 参数名 类型 历史值 说明
是否关注 "汇丰中国客户服务" 微信服务号且绑定银行账户 isHsbcWechatLinked Boolean

上个自然月未登录、当前自然月登录过手机银行 1 天或以上 isPrevMonthInactiveCurMonthActive Boolean

从当前自然月起前序连续 2 个完整月是否登录手机银行 isPrevTwoMonthsActive Boolean

是否绑定 RM 企业微信 isRmWeComBound Boolean

是否首次使用 Face ID 或指纹登录手机银行 firstBiometricLogin Boolean

成功完成模拟资产配置的客户 isSimulatedAllocationCompleted Boolean

附录 B:运算符清单

B.1 String(字符串 / 枚举)

运算符 适用说明
等于 / 不等于 单值精确匹配
包含 / 不包含 子串匹配(仅自由文本类参数开放)
属于 / 不属于 多值集合,比较值为多选或逗号分隔
为空 / 不为空 无需输入比较值

B.2 BigDecimal / Number(数值)

运算符 适用说明
\= / ≠ 精确匹配
>、≥、<、≤ 单边比较
区间 [下限, 上限],支持"含 / 不含端点"设置
为空 / 不为空 无需输入比较值

B.3 Boolean(布尔)

运算符 适用说明
\= / ≠ 比较值为 / (下拉选择);= 假≠ 真 等价

B.4 Date(日期 YYYY-MM-DD / YYYY-MM)

运算符 适用说明
\= / ≠ 精确日期匹配
>、≥、<、≤ 早于 / 晚于
区间 起止日期
相对当前 N 日 / 月 / 年内;超过 N 日 / 月 / 年
为空 / 不为空 无需输入比较值

B.5 List(近 N 月 / 近 N 年历史值)

B.5.1 数值型 List(如 endOfBalanceList、TRB List)

先在"时间窗口"阶段聚合为单值,再套用 B.2 数值运算符:

  • 聚合方式:任一月满足 / 所有月满足 / 至少 M 个月满足 / 平均值 / 最大值 / 最小值

B.5.2 枚举 / 字符串型 List(如 mscGroupList、mscCodeList)

在"时间窗口"阶段选择匹配策略:

  • 任一月等于 X

  • 所有月等于 X

  • 至少 M 个月等于 X

B.5.3 推荐关系 List(referralRelation)

  • 列表长度(推荐人数)→ 套用 B.2 数值运算符

  • 是否包含指定客户号 → 精确匹配,比较值为客户号或客户号列表

B.5.4 月度 / 年度推荐人数 List

  • 可聚合后套用 B.2(同 B.5.1)

  • 也可指定月份 / 年份单点匹配