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-【研发】设计开发/
作者
blowsysun
许可协议