基于原型界面的详细功能需求
银行联合营销平台活动优惠券管理系统是一个基于Web的企业级营销活动管理平台,主要用于管理多渠道优惠券营销活动(微信、支付宝、银联)的全生命周期。系统提供活动创建、查询、编辑、状态管理等核心功能,支持批量操作和多维度数据筛选。
系统包含以下主要功能模块:
通道管理功能支持多个第三方支付通道的统一管理,用户可以通过标签页切换查看不同通道的活动数据。系统当前支持云数汇通道,并预留了其他通道的扩展接口。
通道标签栏采用水平标签页布局,支持动态加载和切换:
通道标签栏提供直观的通道切换体验,每个标签下仅展示当前通道的数据:
云数汇通道作为主要支付通道,提供完整的优惠券活动管理功能:
系统预留了多个通道的扩展接口,支持未来业务发展需要:
| 通道名称 | 支持渠道 | 功能状态 | 接口规范 |
|---|---|---|---|
| 云数汇 | 微信、支付宝 | 开发中 | REST API |
每个通道的数据完全隔离,确保数据安全和业务独立:
云数汇通道
显示云数汇通道下的所有活动数据,包括微信、支付宝、云闪付等渠道的优惠券活动。
拉卡拉通道
显示拉卡拉通道下的活动数据,支持拉卡拉支付体系的优惠券管理。
直连通道/strong>
显示银联通道下的活动数据,支持银联支付网络的优惠券业务。
其他通道
显示其他第三方支付通道的活动数据,支持可扩展的通道接入。
系统提供多维度的活动查询筛选功能,支持精确查找和模糊搜索,帮助用户快速定位目标活动。在选定的通道下,筛选功能仅显示当前通道的活动数据。
| 字段名称 | 字段类型 | 查询方式 | 是否必填 | 字段限制 |
|---|---|---|---|---|
| 活动名称 | 文本输入 | 模糊匹配 | 否 | 最大长度50字符 |
| 主题活动ID | 文本输入 | 精确匹配 | 否 | 最大长度20字符,支持数字和字母 |
| 批次号 | 文本输入 | 精确匹配 | 否 | 最大长度50字符 |
| 渠道类别 | 下拉选择 | 精确匹配 | 否 | 微信/支付宝/云闪付 |
| 券类别 | 下拉选择 | 精确匹配 | 否 | 暂时仅支持满减券 |
| 活动状态 | 下拉选择 | 精确匹配 | 否 | 生效/失效 |
| 活动时间 | 日期范围选择 | 范围查询 | 否 | 开始时间-结束时间 |
| 活动时间 | 日期范围 | 范围查询 | 否 | 开始时间不能晚于结束时间 |
系统提供新增优惠券活动的功能,允许管理员创建新的多渠道优惠券营销活动(微信、支付宝、银联)。新增活动包括填写活动基本信息、配置优惠券规则、设置使用限制等。
新增活动功能通过弹出模态框实现,包含以下元素:
新增活动表单包含以下字段:
| 字段名称 | 字段类型 | 必填 | 约束条件 |
|---|---|---|---|
| 活动优惠券ID | 自动生成 | 否 | 活动优惠券的数据主要查询依据,以渠道缩写+主题活动ID+时间戳组成 |
| 活动名称 | 文本输入框 | 是 | 最大50字符,用于业务识别,不能重复 |
| 主题活动ID | 输入下拉框,检索后选择关联主题活动 | 否 | 最大20字符,关联主题活动表的活动ID |
| 批次号 | 文本输入框 | 否 | 输入支付渠道的实际活动批次号 |
| 开始时间 | 日期时间选择器 | 否 | 不能选择过去时间,格式YYYY-MM-DD HH:mm:ss |
| 结束时间 | 日期时间选择器 | 否 | 必须晚于开始时间,格式YYYY-MM-DD HH:mm:ss |
| 渠道类别 | 下拉选择框 | 否 | 可选:微信、支付宝、云闪付 |
| 券类别 | 单选按钮组 | 否 | 可选:满减券、折扣券、代金券 |
| 券面额 | 数值输入框 | 否 | 最多支持小数点后2位,单位:元 |
| 最小使用门槛 | 数值输入框 | 否 | 最多支持小数点后2位,0表示无门槛 |
| 小程序展示 | 开关按钮 | 否 | 是否在小程序上展示该活动 |
| 是否结算 | 开关按钮 | 否 | 是否参与结算 |
| 使用说明 | 文本域 | 否 | 最大255字符,券的使用说明 |
| 有效期类型 | 单选按钮组 | 否 | 可选:绝对时间、相对时间 |
| 生效天数 | 数值输入框 | 否 | 领取后多少天生效,仅相对时间有效 |
| 使用规则 | 文本域 | 是 | 详细描述优惠券的使用规则和限制条件 |
| 使用周期 | 单选按钮组 | 是 | 可选:固定天数、指定日期范围 |
| 是否在小程序显示 | 单选按钮组 | 是 | 可选:是、否 |
系统对用户输入进行实时验证:
编辑活动功能允许管理员修改已存在的活动信息。编辑功能保持与新增功能相同的界面设计和字段配置,但需要预填充现有活动的数据,并对某些字段进行编辑限制。
编辑活动界面与新增活动界面基本相同,主要区别:
禁用编辑的字段:
可编辑的字段:
查看活动详情功能允许管理员查看已创建活动的完整信息,包括活动详情、发放明细和核销明细三个维度的数据。该功能通过标签页切换的方式组织信息,界面简洁清晰,专注于信息展示和数据分析。
查看活动详情界面采用标签页设计:
显示活动的基本配置信息,按区域分组展示:
| 信息区域 | 包含字段 |
|---|---|
| 基本信息 | 活动优惠券ID、活动名称、主题活动ID、批次号、通道、渠道、报名机构、活动状态、是否在小程序展示 |
| 时间信息 | 生效时间、失效时间、创建时间、更新时间 |
| 优惠券配置 | 优惠券类型、优惠金额、使用门槛、发放总量、每人限领、有效期类型、有效天数、使用说明 |
| 使用规则 | 详细的使用规则说明文本 |
显示优惠券的发放统计和明细数据:
显示优惠券的核销统计和明细数据:
标签页切换功能的技术实现包含CSS样式和JavaScript交互两个部分:
生效 失效
活动详情内容区域
显示活动的基本配置信息,包括活动ID、活动名称、主题活动ID等字段。
发放明细内容区域
显示优惠券的发放统计和明细数据,包括总发放数量、已核销数量等信息。
| 字段名称 | 字段类型 | 字段说明 |
|---|---|---|
| 券ID | varchar(50) | 优惠券的唯一标识 |
| 主题活动ID | varchar(20) | 关联主题活动表的活动ID |
| 活动优惠券编码 | varchar(50) | 活动优惠券的编码标识 |
| 第三方用户编号 | varchar(50) | 第三方系统的用户标识 |
| 会员号 | varchar(50) | 会员系统的会员标识 |
| 商户订单号 | varchar(50) | 商户系统的订单号 |
| 内部订单号 | varchar(50) | 系统内部生成的订单号 |
| 平台流水号 | varchar(50) | 平台交易流水号 |
| 报名机构 | varchar(50) | 参与活动的机构名称 |
| 关联银行 | varchar(50) | 关联的银行机构 |
| 优惠券类型 | varchar(20) | 券的类型:满减券/折扣券/代金券 |
| 券面额 | decimal(10,2) | 优惠券的面额金额 |
| 使用门槛 | decimal(10,2) | 使用优惠券的最低消费金额 |
| 通道 | varchar(20) | 发放通道:云数汇等 |
| 渠道 | varchar(20) | 发放渠道:微信/支付宝/云闪付 |
| 发放时间 | datetime | 优惠券发放的时间 |
| 请求结果 | varchar(20) | 发放请求的处理结果 |
核销明细内容区域
显示优惠券的核销统计和明细数据,包括会员ID、业主ID、银行ID、券面额、订单原始金额、优惠后金额、核销时间、支付流水号等信息。
| 字段名称 | 字段类型 | 字段说明 |
|---|---|---|
| 券ID | varchar(50) | 优惠券的唯一标识 |
| 交易流水号 | varchar(50) | 核销交易的流水号 |
| 主题活动ID | varchar(20) | 关联主题活动表的活动ID |
| 第三方用户编号 | varchar(50) | 第三方系统的用户标识 |
| 优惠券类型 | varchar(20) | 券的类型:满减券/折扣券/代金券 |
| 核销金额 | decimal(10,2) | 实际核销的优惠金额 |
| 订单金额 | decimal(10,2) | 订单的总金额 |
| 商户编号 | varchar(50) | 商户的唯一标识 |
| 发放时间 | datetime | 优惠券发放的时间 |
| 核销时间 | datetime | 优惠券核销的时间 |
| 活动优惠券编码 | varchar(50) | 活动优惠券的编码标识 |
| 会员号 | varchar(50) | 会员系统的会员标识 |
| 商户订单号 | varchar(50) | 商户系统的订单号 |
| 内部订单号 | varchar(50) | 系统内部生成的订单号 |
| 平台流水号 | varchar(50) | 平台交易流水号 |
| 报名机构 | varchar(50) | 参与活动的机构名称 |
| 关联银行 | varchar(50) | 关联的银行机构 |
| 通道 | varchar(20) | 核销通道:云数汇等 |
| 渠道 | varchar(20) | 核销渠道:微信/支付宝/云闪付 |
| 核销状态 | varchar(20) | 核销的状态:成功/失败等 |
系统支持对多个活动进行批量操作,提高管理效率。批量操作包括批量暂停、批量导出等功能。
| 操作类型 | 适用状态 | 操作说明 |
|---|---|---|
| 批量暂停 | 进行中 | 将选中的进行中活动批量设置为已终止状态 |
| 批量导出 | 全部 | 导出选中活动的详细信息到Excel文件 |
| 字段名 | 数据类型 | 长度 | 描述 | 约束 |
|---|---|---|---|---|
| id | BIGINT | - | 主键,自增 | 非空,主键 |
| theme_activity_id | VARCHAR | 20 | 主题活动ID | 可空 |
| activity_name | VARCHAR | 50 | 活动名称 | 可空 |
| activity_type | VARCHAR | 50 | 活动类型 | 非空 |
| batch_no | VARCHAR | 50 | 批次号 | 可空 |
| promotion_id | VARCHAR | 50 | 券活动ID | 可空 |
| channel_type | VARCHAR | 20 | 渠道类别 | 可空,枚举值:微信/支付宝/云闪付 |
| coupon_type | VARCHAR | 20 | 券类别 | 可空,枚举值:满减券/折扣券/代金券 |
| start_time | DATETIME | - | 活动开始时间 | 可空 |
| end_time | DATETIME | - | 活动结束时间 | 可空 |
| promo_amount | VARCHAR | 255 | 券面额 | 可空 |
| order_min_amt | VARCHAR | 20 | 最小使用门槛 | 可空 |
| show_flag | VARCHAR | 20 | 是否在小程序上展示 | 可空,枚举值:Y/N |
| settle_flag | VARCHAR | 20 | 是否结算 | 可空,枚举值:Y/N |
| settle_type | VARCHAR | 20 | 结算方式 | 可空 |
| settle_rate | VARCHAR | 20 | 结算比例 | 可空 |
| description | VARCHAR | 20 | 使用说明 | 可空 |
| valid_type | VARCHAR | 20 | 有效类型 | 可空 |
| valid_days | VARCHAR | 20 | 领取后生效天数 | 可空 |
| status | VARCHAR | 20 | 活动状态 | 可空,枚举值:待开始/进行中/已终止/已结束 |
| gmt_create | DATETIME | - | 创建时间 | 可空 |
| create_by | VARCHAR | 50 | 创建人 | 可空 |
| gmt_modified | DATETIME | - | 修改时间 | 可空 |
| modified_by | VARCHAR | 50 | 修改人 | 可空 |
| 字段名 | 数据类型 | 长度 | 描述 | 约束 |
|---|---|---|---|---|
| id | BIGINT | - | 主键,自增 | 非空,主键 |
| member_id | VARCHAR | 50 | 会员ID(调用方传入,只进行存储) | 可空 |
| activity_id | VARCHAR | 20 | 活动ID | 可空 |
| owner_id | VARCHAR | 50 | 业主ID | 可空 |
| bank_id | VARCHAR | 50 | 银行ID | 可空 |
| promotion_id | VARCHAR | 50 | 优惠券ID | 可空 |
| batch_no | VARCHAR | 50 | 批次号 | 可空 |
| tunnel_user_id | VARCHAR | 50 | 渠道用户标识(微信的open_id,支付宝的user_id) | 可空 |
| mer_order_id | VARCHAR | 50 | 调用方传入的订单号 | 可空 |
| inner_mer_order_id | VARCHAR | 50 | 系统生成的订单号 | 可空 |
| write_off_notify | VARCHAR | 255 | 核销通知地址 | 可空 |
| issuing_status_code | VARCHAR | 20 | 发券响应码 | 可空 |
| issuing_status_msg | VARCHAR | 50 | 发券响应信息 | 可空 |
| third_coupon_id | VARCHAR | 50 | 平台券ID | 可空 |
| trade_no | VARCHAR | 50 | 平台流水号 | 可空 |
| trade_status | VARCHAR | 20 | 发券状态 | 可空 |
| settle_trade_status | VARCHAR | 20 | 券核销状态 | 可空 |
| consume_time | DATETIME | - | 核销时间 | 可空 |
| coupon_amount | VARCHAR | 255 | 券面额 | 可空 |
| order_amount | VARCHAR | 255 | 订单原始金额 | 可空 |
| discount_order_amount | VARCHAR | 255 | 优惠后金额 | 可空 |
| channel_type | VARCHAR | 20 | 渠道类型(支付宝,微信,银联(云闪付)等) | 可空 |
| tunnel_type | VARCHAR | 20 | 通道类型(拉卡拉,云枢会等) | 可空 |
| pay_trade_no | VARCHAR | 50 | 支付流水号 | 可空 |
| gmt_create | DATETIME | - | 创建时间 | 可空 |
| create_by | VARCHAR | 50 | 创建人 | 可空 |
| gmt_modified | DATETIME | - | 修改时间 | 可空 |
| modified_by | VARCHAR | 50 | 修改人 | 可空 |
请求参数:
响应示例:
{
"code": "200",
"message": "success",
"data": {
"total": 100,
"page": 1,
"size": 20,
"list": [
{
"id": 1,
"theme_activity_id": "ACT001",
"activity_name": "春节优惠活动",
"activity_type": "满减活动",
"batch_no": "BATCH001",
"promotion_id": "PROMO001",
"channel_type": "微信",
"coupon_type": "满减券",
"start_time": "2024-01-01 00:00:00",
"end_time": "2024-01-31 23:59:59",
"promo_amount": "10.00",
"order_min_amt": "100.00",
"status": "进行中"
}
]
}
}
请求体:
{
"theme_activity_id": "ACT001",
"activity_name": "春节优惠活动",
"activity_type": "满减活动",
"batch_no": "BATCH001",
"promotion_id": "PROMO001",
"channel_type": "微信",
"coupon_type": "满减券",
"start_time": "2024-01-01 00:00:00",
"end_time": "2024-01-31 23:59:59",
"promo_amount": "10.00",
"order_min_amt": "100.00",
"show_flag": "1",
"settle_flag": "1",
"settle_type": "比例结算",
"settle_rate": "0.8",
"description": "满100减10元优惠券",
"valid_type": "相对时间",
"valid_days": "30"
}
响应示例:
{
"code": "200",
"message": "活动创建成功",
"data": {
"id": 1,
"activity_name": "春节优惠活动"
}
}
请求体:包含需要更新的字段(与创建接口字段相同)
{
"activity_name": "春节优惠活动(更新)",
"end_time": "2024-02-15 23:59:59",
"promo_amount": "15.00",
"description": "满100减15元优惠券"
}
请求体:
{
"reason": "活动提前结束"
}
请求参数:
请求体:
{
"third_coupon_id": "COUPON123456",
"trade_no": "TRADE789012",
"order_amount": "150.00",
"discount_order_amount": "140.00",
"pay_trade_no": "PAY345678",
"consume_time": "2024-01-15 14:30:00"
}