2024-08-03-【研发】设计开发
1. 需求背景说明
1.1 涉及页面
1.2 交互入口
2. 交互设计
- 示例 1
sequenceDiagram
autonumber
actor 用户
participant XXX小程序
participant 金额明细
participant 小程序后端
activate 金额明细
用户->>XXX小程序: 点击“确认收款”
XXX小程序->>金额明细: 跳转“金额明细”,传入billNo
金额明细->>金额明细: 登录、appId鉴权、入参校验、实名、订单属于当前用户、订单状态(0/1/2)等判断
rect rgba(0, 0, 255, .1)
Note right of 金额明细: 金额明细数据准备&算税
金额明细->>+小程序后端: [api]调用获取收款银行卡信息 nature/bankInfo,传入billNo
小程序后端-->>-金额明细: 返回 bankList (微信零钱、招行、微众银行)
rect rgb(232, 157, 9)
Note right of 金额明细: openAPI 生成的订单不能切换银行卡隐藏逻辑
金额明细->>+小程序后端: [api]查询转账单详情信息接口 user/billInfo,传入billNo
小程序后端-->>-金额明细: 返回订单详情 source(1 小程序订单,2 openapi订单)
金额明细->>金额明细: source为2自动填入订单中的收款账户,且不能修改;bankList第一项bankType为1或3(微信、微众银行),收款渠道默认选择微信零钱;
end
金额明细->>+小程序后端: [api]调用校验且更新转账单属于当前自然人 nature/validUpdateBill,传入billNo
小程序后端-->>-金额明细: 无返回值
rect rgb(191, 223, 255)
Note right of 金额明细: transferBillType为 1 物资回收,算税
金额明细->>+小程序后端: [api]调用判断自然人是否存在待缴税nature/overdueTaxAmount ----【增加入参billNo】
小程序后端-->>-金额明细: 返回 overdueFlag(true存在待缴税,false不存在)
alt 【存在待缴税】
金额明细-->>金额明细: 页面展示:交易失败"收款方存在待缴税记录,不能继续此笔交易,请缴纳税款或取消交易后重试。";“查看待缴详情、刷新页面”按钮
else 【不存在待缴税】
金额明细->>+小程序后端: [api]调用计算税费金额 nature/computeTaxAmount,传入 billNo
小程序后端-->>-金额明细: 返回 金额明细 realTransferAmount、payChannelId(支付渠道1微信 2招行 3微众) 等参数
金额明细->>金额明细: 页面展示税费、收款金额、收款账户等信息
end
end
rect rgb(91, 159, 38)
Note right of 金额明细: transferBillType为 2 农产品收购
金额明细->>+小程序后端: [api]调用查询转账单详情信息接口 user/billInfo,传入 billNo
金额明细->>金额明细: 页面展示收款金额、收款账户等信息
deactivate 金额明细
end
end
- 示例 2
sequenceDiagram
autonumber
actor 用户
participant 金额明细
participant 缴税结果
participant 收款结果
participant 缴税金三
participant 缴税金四
participant 小程序后端
用户->>+金额明细: 1. 确认收款
alt 【个人存在补缴税费】realTransferAmount < 0
金额明细-->>用户: 弹窗提示“本次交易您需要向商家支付...”
else 【个人不存在补缴税费】realTransferAmount >= 0
rect rgba(0, 0, 255, .1)
Note right of 收款结果: 商家付款渠道为零钱/微众
alt 【微信零钱/微众银行支付 payChannelId 1或3】
金额明细->>+小程序后端: [api]是否第一次缴税 nature/tax/valid,传入billNo
小程序后端-->>-金额明细: 返回 tax 待用,第一次false
end
end
金额明细->>+小程序后端: [api]确认收款 nature/ensureTransfer,传入 billNo、bankId
小程序后端-->>-金额明细: 返回订单状态+商户数据 billStatus、mchId、appId、packageInfo
rect rgb(191, 223, 255)
Note right of 收款结果: 商家付款渠道 payChannelId 区分
alt 【已缴税】微众、招商银行
金额明细->>收款结果: =======跳转收款结果[结束]
else 【待缴税】微众、微信零钱
rect rgba(0, 0, 255, .1)
Note right of 缴税结果: 缴税相关
金额明细->>+小程序后端: [api]调用获取缴税信息 nature/tax,传入 billNo
小程序后端-->>-金额明细: 返回 缴税二维码数据(taxUrl、version),注意:taxUrl为空,弹窗提示“正在查询缴税结果,请稍后重试”
金额明细-->>用户: 弹窗提示是否去缴税,根据tax判断是否第一次缴税(区分文案)
用户->>金额明细: 2. 去缴税
alt 【金三缴税】version 为 V3
金额明细->>+缴税金三: 跳转金三缴税插件页
缴税金三-->>-缴税结果: 缴税完成
activate 缴税结果
else 【金四缴税】version 为 V4
金额明细->>+缴税金四: 跳转金四缴税小程序
缴税金四-->>-缴税结果: 缴税完成
end
缴税结果->+小程序后端: [api]查询缴税状态nature/queryTaxStatus,传入 billNo
小程序后端-->>-缴税结果: 返回 缴税状态 taxStatus
缴税结果->+小程序后端: [api]查询转账单详情信息接口 user/billInfo,传入 billNo
小程序后端-->>-缴税结果: 返回 转账单详情,transferAmount、payChannelId、collectBankCardId
loop 1s/次(90s)
缴税结果->缴税结果: 超时逻辑:1. 0-30s 正在查询税费缴纳结果,请等待;2. 30-90s 未查询xxx,“去缴税” 3. >90s 未查询XXX,“查询缴税结果” + “去缴税”
end
deactivate 缴税结果
end
用户->>+缴税结果: 3. 去收款
缴税结果->>缴税结果: 执行上方 1 - 6逻辑
缴税结果->>+微信零钱收款: 微信零钱收款
微信零钱收款-->>-缴税结果: 收款成功
缴税结果->>收款结果: =======跳转收款结果[结束]
deactivate 缴税结果
end
end
end
3. 组件设计
3.1 组件名称
组件说明:
组件初始化时,xxx
操作 xxx
UI 稿贴图
参数说明
入参:
参数名 类型 默认值 描述 edit-able String false 是否可编辑(启用、禁用) click-able Boolean false 是否可点击 事件:
组件方法名 父组件接收方法(调用方) 传参 描述 onItemClick item-click {index: xx, itemId: xx} 点击经办人列时触发
2024-08-03-【研发】设计开发
https://zhangyingxuan.github.io/2024-08-03-【研发】设计开发/