[需求描述]
需求描述 (PRD)
1. 功能总览
本需求旨在为运营平台提供一个短信资源管理功能,实现对旗下各小区短信资源的统一分配、监控和调整。平台可以管理自身的短信总额度,并将额度分配给具体小区。同时,提供详细的分配历史、使用记录查询,并建立资源预警机制。
- 原型链接: https://axhub.im/ax9/14c228b50b05a716/#g=1&id=elt036&p=%E7%9F%AD%E4%BF%A1%E6%9C%8D%E5%8A%A1
- Readdy设计稿: https://readdy.link/share/740bd25910c6955ba0a3552c950e99d2
2. 主要功能模块
2.1 短信资源管理主界面
此界面是功能的核心视图,集中展示平台和各小区的短信资源状态。
页面布局与字段:
平台切换:
提供下拉列表,支持搜索,可切换不同平台。
默认选中平台列表的第一项。
服务商信息 (当前平台):
服务商名称:从推送渠道配置中获取。剩余条数:由运营在"资源调整"弹框中手动设置和更新。当此数值小于1000条时,以告警样式(如红色字体)突出显示。作废字段:
账户余额、有效期,不再从服务商接口获取。
分配情况 (当前平台):
剩余可分配条数:计算公式为平台剩余条数 - 已分配且未使用条数。已分配且未使用条数:计算公式为SUM(所有小区的已分配条数 - 所有小区的已使用条数)。
小区列表:
数据范围: 展示当前平台下的所有小区,按小区创建时间的倒序排列。
列表字段:
小区名称:小区的简称。剩余条数:小区当前可用的短信总数。历史使用:分为"总计"和"本月"两个维度,分别统计小区历史总使用量和当月使用量。操作列:资源配置:点击打开为该小区分配资源的弹框。配置历史:点击打开该小区的资源分配历史记录弹框。使用情况:点击打开该小区的短信发送记录弹框。
主要功能:
小区查询: 支持按小区名称进行搜索和筛选。
资源预警: 当有小区剩余条数低于1000条时,页面顶部出现提示:"检测到n个小区资源不足1000条,请及时补充"。
资源调整: 平台运营人员可调整自身的短信资源总量(见2.2模块)。
2.2 平台资源调整与历史记录 (弹框)
运营平台用此功能来更新自身的短信资源总额。
资源调整弹框:
调整类型:(必填)单选,"增加资源" / "减少资源"。调整数量:(必填)正整数。备注:(非必填)文本输入。提交逻辑: 提交后,根据所选类型对平台的"剩余条数"进行加减。
资源调整历史弹框:
以列表形式展示所有平台层面的资源调整记录。
列表字段:
调整时间、调整类型、调整数量、调整前条数、调整后条数、操作人、备注。
2.3 小区资源配置 (弹框)
为单个小区分配短信资源。
表单字段:
小区名称:自动带入,不可修改。分配方式:(必填)单选,"按金额分配" / "按条数分配"。分配金额/分配条数:(必填)根据分配方式二选一展示。转换系数:(必填)平台与小区的短信单价。对应条数/对应金额:根据输入和转换系数自动计算得出,允许修改。计算结果四舍五入取整。有效期限:(非必填)默认为"长期有效"。备注:(非必填)。
功能逻辑:
自动换算:
对应条数 = 分配金额 * 转换系数对应金额 = 分配条数 / 转换系数
确认分配:
提交前进行必填项校验,并弹出二次确认提示:"请确认后再提交,提交后无法修改及退款"。
确认后,增加该小区的可用短信条数,并生成一条"配置历史"记录。
同时更新平台"分配情况"中的
剩余可分配条数(减少)和已分配且未使用条数(增加)。
2.4 小区配置历史记录 (弹框)
展示单个小区的所有历史分配记录。
列表字段:
操作时间、分配方式、分配条数、支付金额、转换系数、原剩余条数、现剩余条数、有效期、备注。
2.5 小区短信使用情况 (弹框)
展示单个小区的短信发送明细。
列表字段:
推送时间、推送名称、推送内容、推送状态、接收成功/失败(格式:成功数/失败数)。
[验收标准]
验收标准 (Acceptance Criteria)
1. 主界面
Given 用户进入短信资源管理页面 When 页面加载完成 Then 默认选中平台列表的第一个平台,并展示其对应的所有数据。
Given 用户在平台下拉列表中搜索并选择另一个平台 When 选择完成 Then 页面所有数据(服务商信息、分配情况、小区列表)均更新为新平台的数据。
Given 平台"剩余条数"为A,所有小区"已分配且未使用"总数为B When 页面加载数据 Then "剩余可分配条数"应精确等于 A - B。
Given 页面上存在N个小区的"剩余条数"小于1000 When 页面加载完成 Then 页面顶部必须显示预警信息:"检测到N个小区资源不足1000条,请及时补充"。若N=0,则不显示。
Given 用户在小区搜索框中输入小区名称并搜索 When 点击搜索 Then 列表应只显示名称匹配的小区。
Given 平台下有多个小区 When 查看小区列表 Then 列表必须按照小区创建时间的倒序进行排列。
2. 平台资源调整
Given 用户点击"资源调整"按钮 When 弹框出现 Then "调整类型"和"调整数量"为必填项,不填写无法提交。
Given 用户选择"增加资源",数量为5000 When 提交成功 Then 平台的"剩余条数"应在原有基础上增加5000。
Given 用户点击"资源调整历史" When 弹框出现 Then 弹框中应以列表形式正确展示每一次调整的操作记录,包含调整前后的数量和操作人等所有字段。
3. 小区资源配置
Given 用户点击某小区的"资源配置"按钮 When 弹框出现 Then 弹框中的"小区名称"应自动填充为该小区的名称且不可编辑。
Given 用户选择"按金额分配",输入金额100元,转换系数0.1 When 输入完成 Then "对应条数"应自动计算为1000。
Given 用户选择"按条数分配",输入条数500,转换系数0.1 When 输入完成 Then "对应金额"应自动计算为50元。
Given 用户填写完所有必填项后点击"确认分配" When 操作时 Then 必须弹出二次确认提示:"请确认后再提交,提交后无法修改及退款"。
Given 用户为小区成功分配了1000条短信 When 分配完成 Then 该小区的"剩余条数"应增加1000,同时平台的"剩余可分配条数"减少1000,"已分配且未使用条数"增加1000。
Given 用户成功完成一次资源分配 When 查看该小区的"配置历史" Then 必须能看到一条与刚才操作完全对应的新增记录。
4. 历史与使用情况查看
Given 用户点击某小区的"配置历史" When 弹框加载完成 Then 弹框内应准确展示该小区历次被分配资源的所有记录,数据字段完整无误。
Given 用户点击某小区的"使用情况" When 弹框加载完成 Then 弹框内应准确展示该小区历史短信的发送记录,包含推送名称、内容、状态和成功/失败数。