243 lines
27 KiB
Markdown
243 lines
27 KiB
Markdown
# 7月迭代禅道研发需求拆分表
|
||
|
||
> 来源:禅道用户需求导出与7月迭代标准评审稿。
|
||
> 范围:只包含激活需求;草稿 #41/#51 和已关闭重复需求 #54 不创建研发需求。
|
||
>
|
||
> 本文件用于总览、排期和关联关系,不用于逐条复制。实际录入禅道请使用:[7月迭代禅道研发需求逐条录入稿](./7月迭代禅道研发需求逐条录入稿.md)。录入稿中每条 FE/BE/INT 都有可独立复制的标题和完整描述。
|
||
|
||
## 一、拆分规则
|
||
|
||
每条用户需求下创建两条研发需求:
|
||
|
||
```text
|
||
[FE][UR#编号] 前端交付名称
|
||
[BE][UR#编号] 后端交付名称
|
||
```
|
||
|
||
- FE、BE 研发需求分别指派给前端和后端,可并行进入开发。
|
||
- 研发需求必须描述可独立交付的页面或接口能力,不能只写“配合前端”“配合后端”。
|
||
- 联调属于研发需求完成后的交付活动,不为每条用户需求机械创建第三条研发需求。
|
||
- 跨页面、跨模块、异步任务或第三方系统场景,统一创建链路级联调任务。
|
||
- 简单搜索、字段展示等需求在 FE/BE 研发需求中完成自验,不单独创建联调任务。
|
||
|
||
推荐状态依赖:
|
||
|
||
```text
|
||
FE/BE 研发需求开发完成
|
||
-> 接口契约冻结
|
||
-> 进入对应联调任务
|
||
-> 问题回到原 FE/BE 研发需求修复
|
||
-> 联调任务验收通过
|
||
```
|
||
|
||
## 二、用户需求到研发需求映射
|
||
|
||
| 用户需求 | 前端研发需求 | 后端研发需求 | 联调归属 |
|
||
|---|---|---|---|
|
||
| #98 换货管理新资产归属 | `[FE][UR#98] 换货新资产归属继承提示`:选择新资产后展示将继承的店铺 | `[BE][UR#98] 换货新资产继承旧资产店铺`:事务内迁移归属、租户标签和分配记录 | INT-02 换货链路 |
|
||
| #97 代理钱包阈值提醒 | `[FE][UR#97] 代理现金余额不足100元展示与通知跳转` | `[BE][UR#97] 主钱包固定100元余额预警`:跨越阈值、重新布防、站内通知 | INT-05 钱包支付 |
|
||
| #96 员工作为发展人进行标识 | `[FE][UR#96] 店铺业务员选择、展示和筛选` | `[BE][UR#96] 店铺业务员关联与查询`:只绑定启用平台账号 | INT-05 钱包支付 |
|
||
| #94 系统状态同步优化以及回调处理 | `[FE][UR#94] 资产同步状态与审计入口展示` | `[BE][UR#94] 资产状态同步DDD收口`:轮询、0/3/5事件、回调防腐层 | INT-01 实名与同步 |
|
||
| #86 资产详情中换货标识 | `[FE][UR#86] 资产详情前代/后代换货标识与跳转` | `[BE][UR#86] 资产换货链Query`:返回 previous/next asset并校验权限 | INT-02 换货链路 |
|
||
| #73 行业卡操作停复机 | `[FE][UR#73] 复机实名校验结果与错误提示适配` | `[BE][UR#73] 按运营商实名能力控制复机` | INT-01 实名与同步 |
|
||
| #62 H5设置先充值后实名 | `[FE][UR#62] H5实名与购买顺序流程`:先实名/先购买/无需实名 | `[BE][UR#62] 资产实名顺序策略与批量配置接口` | INT-01 实名与同步 |
|
||
| #60 店铺联系电话检索 | `[FE][UR#60] 店铺联系电话搜索控件` | `[BE][UR#60] 店铺联系电话精确查询` | 不单建,FE/BE自验 |
|
||
| #57 退款中禁止换货 | `[FE][UR#57] 换货退款拦截错误展示` | `[BE][UR#57] 换货前活跃退款校验` | INT-02 换货链路 |
|
||
| #55 套餐生效条件 | `[FE][UR#55] 套餐分配生效条件选择与恢复默认` | `[BE][UR#55] 套餐分配生效条件覆盖与购买快照` | INT-03 套餐生命周期 |
|
||
| #53 资产实名状态筛选 | `[FE][UR#53] 卡和设备实名状态筛选` | `[BE][UR#53] 卡/设备实名状态查询与设备快照维护` | INT-01 实名与同步 |
|
||
| #49 设备批量分配代理和套餐系列 | `[FE][UR#49] 设备批量分配代理/套餐系列双入口` | `[BE][UR#49] 两类设备批量分配任务与失败明细` | INT-04 批量与导出 |
|
||
| #48 不同资产使用不同支付方式 | `[FE][UR#48] C端按资产展示允许支付方式` | `[BE][UR#48] 支付方式配置与订单二次校验` | INT-05 钱包支付 |
|
||
| #47 限速规则 | `[FE][UR#47] 卡/设备手动设置与取消限速` | `[BE][UR#47] Gateway按cardNo限速统一接口` | INT-07 Gateway限速 |
|
||
| #46 资产信息详情字段新增 | `[FE][UR#46] 预计最终到期时间与临期高亮` | `[BE][UR#46] 当前及排队套餐最终到期Query` | INT-03 套餐生命周期 |
|
||
| #45 换货管理 | `[FE][UR#45] 换货新旧资产展示与独立搜索` | `[BE][UR#45] 换货标识快照修正与新旧资产查询` | INT-02 换货链路 |
|
||
| #44 列表字段新增 | `[FE][UR#44] 退款/充值/换货提交人与审批摘要展示` | `[BE][UR#44] 提交人快照与企微审批摘要批量查询` | INT-06 企微审批 |
|
||
| #43 代理系列授权 | `[FE][UR#43] 系列套餐批量选择与已授权置灰` | `[BE][UR#43] 系列套餐候选Query与重复授权幂等` | INT-03 套餐生命周期 |
|
||
| #42 导出功能 | `[FE][UR#42] 导出字段选择、权限展示和任务进度` | `[BE][UR#42] 导出场景、角色字段权限与30天到期筛选` | INT-04 批量与导出 |
|
||
| #40 套餐设计 | `[FE][UR#40] C端下架套餐续费入口` | `[BE][UR#40] 下架套餐历史用户续费资格校验` | INT-03 套餐生命周期 |
|
||
| #38 不同渠道额度处理 | `[FE][UR#38] 角色默认信用和店铺实际额度管理` | `[BE][UR#38] 代理主钱包信用额度与并发资金不变量` | INT-05 钱包支付 |
|
||
| #37 审核流转 | `[FE][UR#37] 企微审批状态、意见附件和结果通知展示` | `[BE][UR#37] 企微审批模板、账号绑定、回调和轮询补偿` | INT-06 企微审批 |
|
||
| #36 批量订购套餐 | `[FE][UR#36] 批量订购上传、支付方式、进度和失败明细` | `[BE][UR#36] 批量订购任务、逐行幂等下单和钱包扣款` | INT-04 批量与导出、INT-05 钱包支付 |
|
||
| #35 退款审核 | `[FE][UR#35] 退款企微审批详情与业务处理状态` | `[BE][UR#35] 退款企微终态与整单退款终结` | INT-06 企微审批 |
|
||
| #34 充值审核流程 | `[FE][UR#34] 代理扫码充值与员工线下审批状态页面` | `[BE][UR#34] 微信/支付宝充值入账和线下充值企微终态` | INT-05 钱包支付、INT-06 企微审批 |
|
||
| #33 套餐临期提醒 | `[FE][UR#33] 临期列表、各端高亮、3天置顶和续费入口` | `[BE][UR#33] 最终到期临期Query与15/7/3站内通知` | INT-03 套餐生命周期 |
|
||
|
||
## 三、前后端并行约定
|
||
|
||
研发需求创建前先冻结本表中的接口契约。前端按 Mock 数据开发页面,后端按同一契约实现接口。
|
||
|
||
- 响应统一为 `{code,msg,data,timestamp}`,下表只描述 `data`。
|
||
- 分页统一返回 `{items,total,page,size}`。
|
||
- 金额入参和返回均使用分;前端显示元。
|
||
- 生命周期判断使用 `status`,展示使用 `status_name`。
|
||
- 字段允许增加但不能改名或改变类型;确需调整时,必须同步修改 FE、BE 两条研发需求。
|
||
- 前端先完成页面、交互、Mock、加载/空/错误状态;后端完成后只替换数据源并进入联调。
|
||
|
||
每组需求按以下顺序启动:
|
||
|
||
```text
|
||
1. FE/BE共同确认路径、方法、入参、返回和枚举
|
||
2. 后端先补DTO/OpenAPI契约或提供固定JSON示例
|
||
3. 前端按JSON示例完成页面和Mock请求
|
||
4. 后端实现真实查询、写入、权限、幂等和审计
|
||
5. 前端切换真实接口,进入对应INT联调任务
|
||
```
|
||
|
||
契约确认时必须标记字段是必返、可空还是仅特定状态返回,避免前端通过猜测补默认值。
|
||
|
||
## 四、研发需求压缩总览
|
||
|
||
> 下表仅用于快速核对,不建议复制到禅道。前端页面结构、交互状态、接口入参和返回字段以[逐条录入稿](./7月迭代禅道研发需求逐条录入稿.md)为准。
|
||
|
||
| 用户需求 | 前端研发需求说明 | 后端研发需求与接口契约 |
|
||
|---|---|---|
|
||
| #98 换货新资产归属 | **标题:**换货新资产归属继承提示。<br>**页面:**换货创建、发货确认。选择新资产后展示“完成后归属到某店铺”,提交中禁止重复操作,失败展示后端原因。 | **标题:**换货新资产继承旧资产店铺。<br>**接口:**复用 `POST /api/admin/exchanges`、`POST /api/admin/exchanges/{id}/ship`、`POST /api/admin/exchanges/{id}/complete`。<br>**入参:**旧/新资产标识、换货类型、是否迁移资料。<br>**返回:**换货单及 `inherited_shop_id/inherited_shop_name`。<br>**规则:**平台库存新资产继承旧店铺;其他店铺资产拒绝。 |
|
||
| #97 钱包100元预警 | **标题:**代理现金余额不足100元展示。<br>**页面:**资金概况显示红色预警;顶部通知和通知中心支持跳转店铺资金页,不提供阈值配置。 | **标题:**代理主钱包固定100元余额预警。<br>**接口:**`GET /api/admin/shops/fund-summary` 增加 `cash_available/low_balance_warning`;通知复用 `/api/admin/notifications`。<br>**规则:**`balance-frozen_balance<=10000`,不含信用额度;只在跨越阈值时通知,回升后重新布防。 |
|
||
| #96 店铺业务员 | **标题:**店铺业务员选择、展示与筛选。<br>**页面:**店铺新建/编辑增加平台业务员下拉,列表和详情展示业务员,筛选栏支持按业务员查询。 | **标题:**店铺业务员关联与查询。<br>**接口:**`POST /api/admin/shops`、`PUT /api/admin/shops/{id}` 入参增加 `business_owner_account_id`;`GET /api/admin/shops` 增加同名筛选。<br>**返回:**`business_owner_account_id/business_owner_name`。只允许启用的平台账号。 |
|
||
| #94 状态同步优化 | **标题:**资产同步状态与审计入口。<br>**页面:**资产详情展示活跃级别、最后活跃、下次轮询;保留原刷新按钮,增加“查看同步轨迹”跳转。 | **标题:**资产状态同步DDD收口。<br>**接口:**不新增刷新入口,复用 `POST /api/admin/assets/{identifier}/refresh`;`GET /api/admin/assets/resolve/{identifier}` 返回 `polling`;轨迹使用 `GET /api/admin/audit/integrations`。<br>**规则:**轮询、0/3/5事件和回调统一应用状态。 |
|
||
| #86 资产换货标识 | **标题:**资产详情换货前代/后代展示。<br>**页面:**显示“换货新资产”“已换出旧资产”标签,可查看前代和后代;无权限时不可点击。 | **标题:**资产换货链Query。<br>**接口:**`GET /api/admin/assets/resolve/{identifier}` 增加 `exchange_trace.previous_asset/next_asset`。<br>**返回:**资产类型、ID、标识、换货单号和 `can_view`。 |
|
||
| #73 行业卡复机 | **标题:**复机实名结果和错误提示。<br>**页面:**沿用资产详情复机按钮;未满足实名条件时展示后端中文原因。 | **标题:**按运营商实名能力控制复机。<br>**接口:**复用 `POST /api/admin/assets/{identifier}/start`。<br>**返回:**最新资产状态。<br>**规则:**只看运营商 `realname_link_type`,不按行业卡类型统一放行。 |
|
||
| #62 H5实名顺序 | **标题:**H5先实名/先购买流程及后台批量配置。<br>**页面:**C端按接口策略跳转;后台卡和设备列表提供批量修改入口。 | **标题:**资产实名顺序策略。<br>**接口:**`PATCH /api/admin/assets/{identifier}/realname-mode`;`POST /api/admin/iot-cards/batch-update-realname-policy`;`POST /api/admin/devices/batch-update-realname-policy`。<br>**入参:**资产标识列表、`policy=none/before_order/after_order`。<br>**返回:**生效策略及成功数量。 |
|
||
| #60 联系电话搜索 | **标题:**店铺联系电话搜索。<br>**页面:**店铺列表新增11位联系电话输入框,支持清空和重新查询。 | **标题:**店铺联系电话精确查询。<br>**接口:**`GET /api/admin/shops?contact_phone=`。<br>**入参:**11位手机号。<br>**返回:**原店铺分页结构。 |
|
||
| #57 退款中禁止换货 | **标题:**换货退款拦截提示。<br>**页面:**创建换货失败时原地展示“该资产存在退款申请”,不自行判断退款状态。 | **标题:**换货前活跃退款校验。<br>**接口:**复用 `POST /api/admin/exchanges`。<br>**规则:**审批中、已退回或退款处理未完成时返回业务错误;已拒绝、撤销或处理完成后放行。 |
|
||
| #55 套餐生效条件 | **标题:**套餐分配生效条件选择。<br>**页面:**授权/分配弹框提供跟随默认、购买生效、实名生效三选一;已分配记录支持修改和恢复默认。 | **标题:**套餐分配生效条件覆盖与快照。<br>**接口:**`POST /api/admin/shop-package-allocations`;`PATCH /api/admin/shop-package-allocations/{id}/expiry-base`。<br>**入参:**`expiry_base_override`,`null` 表示恢复默认。<br>**返回:**默认值、覆盖值和最终生效值。 |
|
||
| #53 实名状态筛选 | **标题:**卡和设备实名状态筛选。<br>**页面:**两个资产列表增加全部/已实名/未实名筛选和状态列。 | **标题:**卡和设备实名状态查询。<br>**接口:**`GET /api/admin/iot-cards?real_name_status=0\|1`;`GET /api/admin/devices?real_name_status=0\|1`。<br>**返回:**`real_name_status/real_name_status_name`。 |
|
||
| #49 设备批量分配 | **标题:**设备批量分配代理和套餐系列双入口。<br>**页面:**两个独立上传弹框,展示总数、成功数、失败数和失败原因。 | **标题:**设备两类批量分配任务。<br>**接口:**`POST /api/admin/devices/batch-assign-shop`、`POST /api/admin/devices/batch-assign-series`、`GET /api/admin/devices/batch-allocation/{task_id}`。<br>**入参:**文件和目标ID。<br>**返回:**任务状态及失败明细。 |
|
||
| #48 支付方式限制 | **标题:**C端按资产展示支付方式。<br>**页面:**支付页只展示接口返回的支付方式;无可用方式时禁止提交。 | **标题:**资产支付方式配置与订单校验。<br>**接口:**`GET /api/c/v1/asset/info` 返回 `allowed_payment_methods`;`POST /api/c/v1/orders/create`、`POST /api/c/v1/orders/{id}/pay` 再次校验。<br>**后台:**`PUT /api/admin/system/config/{config_key}`。 |
|
||
| #47 Gateway限速 | **标题:**卡和设备手动限速。<br>**页面:**详情页提供设置、取消入口;设备显示最终使用的当前卡ICCID。 | **标题:**Gateway按cardNo统一限速。<br>**接口:**`POST /api/admin/assets/{identifier}/speed-limit`。<br>**入参:**`speed_kbps`,0表示取消。<br>**返回:**资产标识、最终 `card_no`、目标值和执行结果。 |
|
||
| #46 预计最终到期 | **标题:**预计套餐到期时间和临期高亮。<br>**页面:**资产详情只显示一个最终到期字段;不可预计时显示“待激活后起算”。 | **标题:**当前及排队套餐最终到期Query。<br>**接口:**`GET /api/admin/assets/resolve/{identifier}`。<br>**返回:**`estimated_final_expires_at/days_until_final_expiry/expiry_estimate_status/is_expiring`。 |
|
||
| #45 换货管理 | **标题:**换货新旧资产展示和独立搜索。<br>**页面:**列表分别搜索旧资产、新资产,展示统一卡ICCID或设备号。 | **标题:**换货标识快照和查询。<br>**接口:**`GET /api/admin/exchanges?old_asset_keyword=&new_asset_keyword=`。<br>**返回:**新旧资产类型、ID、标识及换货状态。新建换货统一保存规范化标识。 |
|
||
| #44 列表字段新增 | **标题:**退款、充值、换货列表提交人与审批摘要。<br>**页面:**增加提交人、企微状态、当前审批人摘要和业务处理状态。 | **标题:**提交人快照与企微摘要查询。<br>**接口:**复用 `GET /api/admin/refunds`、`GET /api/admin/agent-recharges`、`GET /api/admin/exchanges`。<br>**返回:**`submitter_name/approval_status_name/current_approver_summary/processing_status_name`。 |
|
||
| #43 系列批量授权 | **标题:**系列套餐批量选择与已授权置灰。<br>**页面:**首次和后续授权共用多选表格;已授权套餐置灰,展示公司成本、授权成本和建议售价。 | **标题:**系列套餐候选和批量授权。<br>**接口:**`GET /api/admin/shop-series-grants/{id}/package-options`;`PUT /api/admin/shop-series-grants/{id}/packages`。<br>**返回:**三类价格、`is_authorized`;重复授权幂等。 |
|
||
| #42 导出功能 | **标题:**导出字段选择、权限和任务进度。<br>**页面:**导出弹框加载可选字段,提交后展示进度、失败和下载。 | **标题:**统一导出场景和字段权限。<br>**接口:**`GET /api/admin/export-fields?scene=`、`POST /api/admin/export-tasks`、`GET /api/admin/export-tasks/{id}`。<br>**入参:**`scene/format/query/fields`。<br>**返回:**任务进度和下载地址。 |
|
||
| #40 下架套餐续费 | **标题:**C端当前套餐续费入口。<br>**页面:**当前套餐旁显示续费;下架套餐不出现在新购列表。 | **标题:**下架套餐续费资格。<br>**接口:**`GET /api/c/v1/asset/packages` 返回 `can_purchase/purchase_mode/disabled_reason`;`POST /api/c/v1/orders/create` 强校验资产所有人和历史使用记录。 |
|
||
| #38 代理信用额度 | **标题:**角色默认信用和店铺实际额度管理。<br>**页面:**客户角色配置新建默认额度并提示不影响存量;店铺资金页单独调整实际额度。 | **标题:**代理主钱包信用额度。<br>**接口:**`PUT /api/admin/roles/{id}/default-credit`、`PUT /api/admin/shops/{id}/credit-limit`、`GET /api/admin/shops/fund-summary`。<br>**入参:**开关、额度、钱包版本。<br>**返回:**额度、可用金额、欠款和版本。 |
|
||
| #37 企微审核流转 | **标题:**企微配置、账号绑定和审批详情。<br>**页面:**企微配置页、个人扫码绑定、审批运行列表;业务详情只读展示意见和附件。 | **标题:**企业微信审批接入。<br>**接口:**`GET /api/admin/wecom/status`、`POST /api/admin/wecom/account-binding/sessions`、`GET /api/admin/wecom/approvals`、`POST /api/admin/wecom/approvals/{id}/sync`。<br>**业务详情:**统一返回 `approval` 对象。 |
|
||
| #36 批量订购套餐 | **标题:**批量订购上传、支付、进度和失败明细。<br>**页面:**沿用现有前端入口可见性;选择单个套餐和整批支付方式,CSV及线下凭证先直传对象存储;不选择代理,同一CSV可含不同代理资产,不接受Excel。 | **标题:**批量订购任务。<br>**接口:**`POST /api/admin/storage/upload-url`、`POST /api/admin/bulk-purchases`、`GET /api/admin/bulk-purchases/{task_id}`、`GET /api/admin/bulk-purchases/{task_id}/items`。<br>**权限:**后端仅复用现有后台认证,不新增权限码、账号类型拦截或任务创建人隔离。<br>**入参:**单个`package_id`、`payment_method=wallet|offline`、`file_key`、`voucher_keys`,无`shop_id`。`wallet`按CSV行号逐行扣结算代理主钱包,余额不足只失败当前行并继续。<br>**文件:**CSV仅一列“资产标识”;创建接口校验套餐和对象/类型/10MB,Worker校验编码、表头、语法、空文件及1000行,文件级错误整批失败且不下单。<br>**资产:**复用统一资产解析能力识别类型和ID,当前支持ICCID、卡`virtual_no`、MSISDN、设备`virtual_no`、IMEI和SN。<br>**判重:**按解析后的资产类型和资产ID判重,同一资产不同标识也仅首行处理。<br>**状态:**统一五态,部分成功由计数表达。<br>**返回:**任务和逐行结算代理结果。 |
|
||
| #35 退款审核 | **标题:**退款企微审批和整单处理状态。<br>**页面:**创建只提交订单、固定申请金额、必填原因、可选备注及1~5个结构化附件,不提交实收金额或套餐使用记录;详情分区展示退款、审批和处理结果;拒绝后重新退款必须新建退款单;代理隐藏审批人、内部意见和审批附件。 | **标题:**退款企微终态与整单终结。<br>**接口:**`POST /api/admin/refunds`、`GET /api/admin/refunds`、`GET /api/admin/refunds/{id}`;下线原 `approve/reject/return/resubmit` 及任何 `manual-complete`。<br>**规则:**后端读取实收并校验固定申请金额;无论是否全额,通过后订单、该订单套餐和佣金均整单终结且不可再退差额。只有代理主钱包按原扣款流水自动回溯;其他方式系统外退款,资产钱包不回充。佣金结构化失效并可靠回扣,处理状态独立且可重试。代理按店铺层级权限查看。<br>**门禁:**可编程Adapter自动化和真实企微代理同意/平台拒绝两条链路均必过。 |
|
||
| #34 充值审核流程 | **标题:**代理扫码充值与员工线下充值审批。<br>**页面:**在线充值展示支付方式、二维码和支付状态;线下充值展示只读企微审批状态。 | **标题:**代理在线充值和员工线下审批。<br>**接口:**`GET /api/admin/agent-recharges/payment-methods`、`POST /api/admin/agent-recharges`、`GET /api/admin/agent-recharges/{id}/payment-status`、`GET /api/admin/agent-recharges/{id}`。<br>**返回:**二维码、过期时间、支付/审批/入账状态。 |
|
||
| #33 套餐临期提醒 | **标题:**临期列表、各端高亮和续费入口。<br>**页面:**临期页3天内置顶;普通资产列表只高亮;代理首页显示数量;C端显示续费按钮。 | **标题:**预计最终到期临期Query和站内通知。<br>**接口:**`GET /api/admin/expiring-assets`、资产列表/详情增加临期字段、`GET /api/c/v1/asset/info`、通知接口。<br>**返回:**最终到期、剩余天数、颜色节点;15/7/3天通知防重。 |
|
||
|
||
## 五、前端Mock公共样例
|
||
|
||
资产详情扩展字段:
|
||
|
||
```json
|
||
{
|
||
"estimated_final_expires_at": "2026-08-01T23:59:59+08:00",
|
||
"days_until_final_expiry": 15,
|
||
"expiry_estimate_status": "exact",
|
||
"is_expiring": true,
|
||
"allowed_payment_methods": ["alipay", "wallet"],
|
||
"polling": {
|
||
"enabled": true,
|
||
"activity_level": "active",
|
||
"last_activity_at": "2026-07-17T10:00:00+08:00",
|
||
"next_poll_at": "2026-07-17T10:03:00+08:00"
|
||
},
|
||
"exchange_trace": {
|
||
"previous_asset": null,
|
||
"next_asset": null
|
||
}
|
||
}
|
||
```
|
||
|
||
统一异步任务:
|
||
|
||
```json
|
||
{
|
||
"task_id": 1001,
|
||
"status": 2,
|
||
"status_name": "处理中",
|
||
"total_count": 100,
|
||
"success_count": 60,
|
||
"failed_count": 3,
|
||
"failed_items": []
|
||
}
|
||
```
|
||
|
||
代理资金概况:
|
||
|
||
```json
|
||
{
|
||
"balance": 8000,
|
||
"frozen_balance": 0,
|
||
"cash_available": 8000,
|
||
"credit_enabled": true,
|
||
"credit_limit": 100000,
|
||
"available_balance": 108000,
|
||
"low_balance_warning": true,
|
||
"version": 3
|
||
}
|
||
```
|
||
|
||
企微审批摘要:
|
||
|
||
```json
|
||
{
|
||
"source": "wecom",
|
||
"instance_id": 123,
|
||
"sp_no": "202607170001",
|
||
"status": 1,
|
||
"status_name": "审批中",
|
||
"current_approver_summary": "财务审批",
|
||
"approvers": [],
|
||
"attachments": [],
|
||
"business_process_result": "pending"
|
||
}
|
||
```
|
||
|
||
## 六、联调任务拆分
|
||
|
||
联调项建议创建为项目执行任务,而不是研发需求。每个任务可关联多条 FE/BE 研发需求和用户需求。
|
||
|
||
如果团队流程强制要求联调也必须使用“研发需求”类型,则先新增一条技术用户需求“7月迭代跨模块联调与发布验收”,再将下列 INT-01~08 建成它的子研发需求。不要把同一条联调需求重复挂到每个业务用户需求下。
|
||
|
||
| 编号 | 联调任务名称 | 关联用户需求 | 参与工时 | 进入条件 | 主要验收链路 |
|
||
|---|---|---|---|---|---|
|
||
| INT-01 | 资产实名、复机与状态同步联调 | #94、#73、#62、#53 | FE 1~1.5h / BE 1~1.5h,已含 | 实名策略接口、同步任务和H5页面完成 | 不同运营商实名能力、先实名/先购买、0/3/5同步、回调后状态和筛选一致 |
|
||
| INT-02 | 换货完整链路联调 | #98、#86、#57、#45 | FE 0.5~1h / BE 0.5~1h,已含 | 换货接口、详情和列表页面完成 | 退款拦截、新资产继承店铺、完成换货、列表搜索、前代/后代跳转 |
|
||
| INT-03 | 套餐授权、购买、续费、到期与临期联调 | #55、#46、#43、#40、#33 | FE 1~1.5h / BE 1~1.5h,已含 | 套餐快照、授权候选和各端到期字段完成 | 批量授权、购买生效条件、下架续费、排队套餐最终到期、临期高亮和通知 |
|
||
| INT-04 | CSV批量任务与导出联调 | #49、#36、#42 | FE 1~1.5h / BE 1~1.5h,已含 | 上传、任务详情、Worker和导出场景完成 | 模板校验、部分成功、失败明细、任务恢复、字段权限和文件下载 |
|
||
| INT-05 | 支付、代理钱包、信用和余额预警联调 | #48、#38、#34、#36、#96、#97 | FE 1~1.5h / BE 1~1.5h,已含 | 支付配置、钱包领域和业务员接口完成 | 支付方式限制、扫码充值、信用扣款、角色默认额度、店铺调额、100元预警 |
|
||
| INT-06 | 企业微信审批、退款和线下充值联调 | #37、#35、#34、#44 | FE 1.5~2h / BE 1.5~2h,已含 | 企微模板、绑定、回调、轮询和业务详情完成 | 扫码绑定、发起审批、意见附件、通过/驳回/撤销、退款/充值终态和列表摘要 |
|
||
| INT-07 | Gateway卡限速联调 | #47 | FE 0.5~1h / BE 0.5~1h,已含 | Gateway联调配置和卡/设备入口完成 | 单卡限速、设备解析当前卡、取消限速、无当前卡、失败审计 |
|
||
| INT-08 | 七月迭代全链路与停机发布验收 | 全部激活需求 | FE 3~4h / BE 4~5h,额外 | INT-01~07完成 | 权限、通知、审计、历史数据、旧入口关闭、Worker恢复和发布检查 |
|
||
|
||
## 七、联调任务责任方式
|
||
|
||
- 涉及企微、支付、Gateway、运营商回调和异步 Worker 的联调任务由后端主责,前端参与。
|
||
- 主要是页面与接口契约的批量、导出、套餐和换货联调可由前端主责,后端参与。
|
||
- 禅道只有一个指派人时,指派给主责人;另一人写入抄送和参与人,不拆成两条重复联调任务。
|
||
- 联调发现的代码问题回到对应 FE/BE 研发需求处理;联调任务只记录场景、阻塞和最终结论。
|
||
|
||
## 八、研发需求描述模板
|
||
|
||
前端研发需求至少填写:页面入口、交互状态、调用接口、权限、异常状态、完成标准。
|
||
|
||
后端研发需求至少填写:业务规则、数据变更、API、权限、幂等/并发、事件与审计、完成标准。
|
||
|
||
联调任务至少填写:关联研发需求、环境和账号、测试数据、完整操作步骤、预期结果、阻塞项和最终结论。
|
||
|
||
## 九、额外禅道项
|
||
|
||
当前用户需求 CSV 没有覆盖公共开发基础、公共站内通知和全局审计。建议补建三条技术用户需求:
|
||
|
||
```text
|
||
用户需求:七月迭代公共开发基础
|
||
用户需求:公共站内通知
|
||
用户需求:全局多视角审计与外部集成追踪
|
||
```
|
||
|
||
再分别拆分:
|
||
|
||
```text
|
||
[FE] 七月迭代公共状态与异步任务交互
|
||
[BE] 七月迭代公共迁移幂等与异步任务基础
|
||
[FE] 顶部通知铃铛与站内通知中心
|
||
[BE] 站内通知基础设施与受控跳转
|
||
[FE] 全局多视角审计中心
|
||
[BE] Audit Event与Integration Log统一审计
|
||
```
|
||
|
||
具体描述和工时直接使用[逐条录入稿](./7月迭代禅道研发需求逐条录入稿.md)。
|