联合营销平台 - 活动优惠券管理需求说明文档

基于原型界面的详细功能需求

活动优惠券管理系统原型预览
活动优惠券管理系统原型界面预览

1. 系统概述

银行联合营销平台活动优惠券管理系统是一个基于Web的企业级营销活动管理平台,主要用于管理多渠道优惠券营销活动(微信、支付宝、银联)的全生命周期。系统提供活动创建、查询、编辑、状态管理等核心功能,支持批量操作和多维度数据筛选。

1.1 核心功能模块

系统包含以下主要功能模块:

2. 通道管理功能

🔄 体验通道切换功能

2.1 功能概述

通道管理功能支持多个第三方支付通道的统一管理,用户可以通过标签页切换查看不同通道的活动数据。系统当前支持云数汇通道,并预留了其他通道的扩展接口。

2.2 通道标签栏设计

通道标签栏采用水平标签页布局,支持动态加载和切换:

2.2.1 通道标签栏交互功能

通道标签栏提供直观的通道切换体验,每个标签下仅展示当前通道的数据:

2.2.2 云数汇通道功能详述

云数汇通道作为主要支付通道,提供完整的优惠券活动管理功能:

2.2.3 后续通道扩展规划

系统预留了多个通道的扩展接口,支持未来业务发展需要:

2.3 通道功能特性

通道名称 支持渠道 功能状态 接口规范
云数汇 微信、支付宝 开发中 REST API

2.4 数据隔离机制

每个通道的数据完全隔离,确保数据安全和业务独立:

2.5 标签切换交互

通道标签页示例:
云数汇
拉卡拉
直连
其他

云数汇通道

显示云数汇通道下的所有活动数据,包括微信、支付宝、云闪付等渠道的优惠券活动。

拉卡拉通道

显示拉卡拉通道下的活动数据,支持拉卡拉支付体系的优惠券管理。

直连通道/strong>

显示银联通道下的活动数据,支持银联支付网络的优惠券业务。

其他通道

显示其他第三方支付通道的活动数据,支持可扩展的通道接入。

2.6 操作流程

1
用户进入活动管理页面,默认显示云数汇通道
2
用户点击其他通道标签(如拉卡拉、银联等)
3
系统切换到对应通道,加载该通道的活动数据
4
页面显示当前通道下的所有功能模块(查询、新增、编辑等)
5
用户在当前通道下进行活动管理操作
6
所有操作仅影响当前选中的通道数据

3. 查询筛选功能

3.1 功能描述

系统提供多维度的活动查询筛选功能,支持精确查找和模糊搜索,帮助用户快速定位目标活动。在选定的通道下,筛选功能仅显示当前通道的活动数据。

3.2 筛选字段

字段名称 字段类型 查询方式 是否必填 字段限制
活动名称 文本输入 模糊匹配 最大长度50字符
主题活动ID 文本输入 精确匹配 最大长度20字符,支持数字和字母
批次号 文本输入 精确匹配 最大长度50字符
渠道类别 下拉选择 精确匹配 微信/支付宝/云闪付
券类别 下拉选择 精确匹配 暂时仅支持满减券
活动状态 下拉选择 精确匹配 生效/失效
活动时间 日期范围选择 范围查询 开始时间-结束时间
活动时间 日期范围 范围查询 开始时间不能晚于结束时间
字段约束说明:
  • 批次号:支付渠道的活动批次号
  • 机构下拉框支持输入搜索,实时过滤匹配项
  • 日期选择器默认格式为YYYY-MM-DD
  • 所有文本输入框支持中英文和数字

3.3 业务流程

1
用户在筛选区域输入查询条件
2
系统进行前端字段验证(格式、长度等)
3
点击查询按钮,系统发送查询请求
4
后端处理查询条件,返回匹配的活动列表
5
前端更新表格显示查询结果

4. 新增活动功能

4.1 功能概述

系统提供新增优惠券活动的功能,允许管理员创建新的多渠道优惠券营销活动(微信、支付宝、银联)。新增活动包括填写活动基本信息、配置优惠券规则、设置使用限制等。

6.2 界面设计

新增活动功能通过弹出模态框实现,包含以下元素:

4.3 表单字段

新增活动表单包含以下字段:

字段名称 字段类型 必填 约束条件
活动优惠券ID 自动生成 活动优惠券的数据主要查询依据,以渠道缩写+主题活动ID+时间戳组成
活动名称 文本输入框 最大50字符,用于业务识别,不能重复
主题活动ID 输入下拉框,检索后选择关联主题活动 最大20字符,关联主题活动表的活动ID
批次号 文本输入框 输入支付渠道的实际活动批次号
开始时间 日期时间选择器 不能选择过去时间,格式YYYY-MM-DD HH:mm:ss
结束时间 日期时间选择器 必须晚于开始时间,格式YYYY-MM-DD HH:mm:ss
渠道类别 下拉选择框 可选:微信、支付宝、云闪付
券类别 单选按钮组 可选:满减券、折扣券、代金券
券面额 数值输入框 最多支持小数点后2位,单位:元
最小使用门槛 数值输入框 最多支持小数点后2位,0表示无门槛
小程序展示 开关按钮 是否在小程序上展示该活动
是否结算 开关按钮 是否参与结算
使用说明 文本域 最大255字符,券的使用说明
有效期类型 单选按钮组 可选:绝对时间、相对时间
生效天数 数值输入框 领取后多少天生效,仅相对时间有效
使用规则 文本域 详细描述优惠券的使用规则和限制条件
使用周期 单选按钮组 可选:固定天数、指定日期范围
是否在小程序显示 单选按钮组 可选:是、否

3.4 表单验证规则

系统对用户输入进行实时验证:

5.4 操作流程

1
用户点击"新增活动"按钮
2
系统弹出新增活动模态框
3
用户填写活动信息(所有字段可编辑)
4
系统实时验证用户输入
5
用户点击"确定"按钮
6
系统验证所有字段
7
验证通过后保存活动信息并关闭模态框
8
刷新活动列表显示新增的活动

5. 编辑活动功能

✏️ 体验编辑活动功能

5.1 功能概述

编辑活动功能允许管理员修改已存在的活动信息。编辑功能保持与新增功能相同的界面设计和字段配置,但需要预填充现有活动的数据,并对某些字段进行编辑限制。

4.2 界面设计

编辑活动界面与新增活动界面基本相同,主要区别:

5.3 字段编辑限制

禁用编辑的字段:

  • 主题活动ID:显示当前值但不可修改
  • 活动优惠券ID:显示当前值但不可修改
  • 渠道类别:显示当前值但不可修改
  • 券类别:显示当前值但不可修改
  • 批次号:显示当前值但不可修改

可编辑的字段:

  • 活动名称
  • 开始时间、结束时间
  • 券面额、最小使用门槛
  • 小程序展示、是否结算
  • 使用说明、有效类型、生效天数
  • 活动状态

4.4 操作流程

1
用户在活动列表中点击"编辑"按钮
2
系统弹出编辑活动模态框
3
系统预填充当前活动的所有信息
4
系统禁用通道和渠道字段的编辑功能
5
用户修改可编辑的字段
6
用户点击"确定"按钮
7
系统验证修改后的数据
8
验证通过后更新活动信息并关闭模态框
9
刷新活动列表显示更新后的活动

6. 查看活动详情功能

6.1 功能概述

查看活动详情功能允许管理员查看已创建活动的完整信息,包括活动详情、发放明细和核销明细三个维度的数据。该功能通过标签页切换的方式组织信息,界面简洁清晰,专注于信息展示和数据分析。

5.2 界面设计

查看活动详情界面采用标签页设计:

6.3 标签页内容

6.3.1 活动详情标签页

显示活动的基本配置信息,按区域分组展示:

信息区域 包含字段
基本信息 活动优惠券ID、活动名称、主题活动ID、批次号、通道、渠道、报名机构、活动状态、是否在小程序展示
时间信息 生效时间、失效时间、创建时间、更新时间
优惠券配置 优惠券类型、优惠金额、使用门槛、发放总量、每人限领、有效期类型、有效天数、使用说明
使用规则 详细的使用规则说明文本

6.3.2 发放明细标签页

显示优惠券的发放统计和明细数据:

6.3.3 核销明细标签页

显示优惠券的核销统计和明细数据:

6.4 标签页切换功能

标签页切换功能的技术实现包含CSS样式和JavaScript交互两个部分:

6.4 样式效果示例

状态标签样式示例:

生效 失效

标签页切换示例:
活动详情
发放明细
核销明细

活动详情内容区域

显示活动的基本配置信息,包括活动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) 核销的状态:成功/失败等

6.5 操作流程

1
用户在活动列表中点击"查看"按钮
2
系统弹出查看活动详情模态框
3
系统默认显示"活动详情"标签页内容
4
用户可点击"发放明细"或"核销明细"标签切换查看不同内容
5
在发放明细和核销明细标签页中,用户可进行数据筛选和导出操作
6
用户点击"关闭"按钮关闭模态框

7. 批量操作功能

8.1 功能概述

系统支持对多个活动进行批量操作,提高管理效率。批量操作包括批量暂停、批量导出等功能。

8.2 支持的批量操作

操作类型 适用状态 操作说明
批量暂停 进行中 将选中的进行中活动批量设置为已终止状态
批量导出 全部 导出选中活动的详细信息到Excel文件

8. 技术规范

8.1 数据字典

8.1.1 券活动表(bmt_channel_activity)

字段名 数据类型 长度 描述 约束
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 修改人 可空

8.1.2 通道发放券详情表(tunnel_coupon_detail)

字段名 数据类型 长度 描述 约束
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 修改人 可空

8.2 API接口规范

8.2.1 查询活动列表

GET /api/channel/activities

请求参数:

  • activity_name: 活动名称(可选,VARCHAR(50))
  • theme_activity_id: 主题活动ID(可选,VARCHAR(20))
  • batch_no: 批次号(可选,VARCHAR(50))
  • channel_type: 渠道类别(可选,VARCHAR(20),枚举值:微信/支付宝/云闪付)
  • coupon_type: 券类别(可选,VARCHAR(20),枚举值:满减券/折扣券/代金券)
  • status: 活动状态(可选,VARCHAR(20),枚举值:待开始/进行中/已终止/已结束)
  • start_time: 活动开始时间(可选,DATETIME格式:yyyy-MM-dd HH:mm:ss)
  • end_time: 活动结束时间(可选,DATETIME格式:yyyy-MM-dd HH:mm:ss)
  • page: 页码(默认1,INT)
  • size: 每页大小(默认20,最大100,INT)

响应示例:

{
  "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": "进行中"
      }
    ]
  }
}

8.2.2 创建活动

POST /api/channel/activities

请求体:

{
  "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": "春节优惠活动"
  }
}

8.2.3 更新活动

PUT /api/channel/activities/{id}

请求体:包含需要更新的字段(与创建接口字段相同)

{
  "activity_name": "春节优惠活动(更新)",
  "end_time": "2024-02-15 23:59:59",
  "promo_amount": "15.00",
  "description": "满100减15元优惠券"
}

8.2.4 终止活动

POST /api/channel/activities/{id}/terminate

请求体:

{
  "reason": "活动提前结束"
}

8.2.5 查询券发放详情

GET /api/tunnel/coupon/details

请求参数:

  • activity_id: 活动ID(可选,VARCHAR(20))
  • member_id: 会员ID(可选,VARCHAR(50))
  • promotion_id: 优惠券ID(可选,VARCHAR(50))
  • batch_no: 批次号(可选,VARCHAR(50))
  • trade_status: 发券状态(可选,VARCHAR(20))
  • settle_trade_status: 券核销状态(可选,VARCHAR(20))
  • channel_type: 渠道类型(可选,VARCHAR(20))
  • tunnel_type: 通道类型(可选,VARCHAR(20))
  • start_time: 开始时间(可选,DATETIME)
  • end_time: 结束时间(可选,DATETIME)
  • page: 页码(默认1)
  • size: 每页大小(默认20)

8.2.6 券核销接口

POST /api/tunnel/coupon/writeoff

请求体:

{
  "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"
}