测试
仪表盘
Bug
用例
套件
测试单
测试报告
G
提Bug
简洁版
完整版
所属产品
所属模块
影响版本
所有
创建构建
当前指派
加载所有
截止日期
Bug标题
Bug类型
严重程度
优先级
重现步骤
保存模板
应用模板
<p>[需求]</p><p>业主小程序车辆缴费页不能再默认把所有欠费账单合并支付。因为长租车过期后可能同时存在:</p><p>1. 月租补缴账单</p><p>2. 长租过期期间产生的临停账单</p><p>3. 普通临停账单</p><p>其中第 2 类“长租过期临停”在月租账单支付成功后,后端会自动作废,不需要用户重复缴纳。</p><p>[结果]</p><p><img src="/zentao/file-read-9057.png" alt="file-read-9057.png" /></p><p>[对接方案]</p><p>主要改业主小程序车辆缴费页:</p><p>src/subPackages/parking/parking/placePay.vue</p><p>车辆详情页只负责跳转:</p><p>src/subPackages/parking/parking/car.vue</p><p>一般不用改。</p><p>数据来源接口</p><p>车辆详情接口:</p><p>GET /miniapp/parking/vehicle/detail/{vehicleId}</p><p>前端从返回值里取未付账单,优先级:</p><p>detail.outstandingBills</p><p>detail.arrearsDetail</p><p>建议仍然优先用 outstandingBills,没有再兜底 arrearsDetail。</p><p>每笔账单重点字段:</p><p>{</p><p>billId: number; // 支付时传这个</p><p>amount: number; // 金额</p><p>feeTemplateType: number; // 0=月租/租赁,1=临停</p><p>billType?: number; // 兼容字段,部分接口可能返回</p><p>tempBillSource?: number; // 临停来源:0=普通临停,1=长租过期临停</p><p>validFrom: string; // 账单开始时间</p><p>validTo: string; // 账单结束时间</p><p>feeTemplateTypeName?: string;</p><p>billTypeName?: string;</p><p>}</p><p>字段判断规则</p><p>前端不要自己根据时间推断是不是长租过期临停,必须以后端字段为准。</p><p>const LEASE = 0;</p><p>const TEMP = 1;</p><p>const LEASE_EXPIRED_TEMP = 1;</p><p>function getBillType(item) {</p><p>return Number(item.feeTemplateType ?? item.billType);</p><p>}</p><p>function isLeaseBill(item) {</p><p>return getBillType(item) === LEASE;</p><p>}</p><p>function isTempBill(item) {</p><p>return getBillType(item) === TEMP;</p><p>}</p><p>function isLeaseExpiredTempBill(item) {</p><p>return isTempBill(item) && Number(item.tempBillSource) === LEASE_EXPIRED_TEMP;</p><p>}</p><p>function isNormalTempBill(item) {</p><p>return isTempBill(item) && !isLeaseExpiredTempBill(item);</p><p>}</p><p>页面展示规则</p><p>账单要展示成可勾选卡片,不要再直接全量合并支付。</p><p>每张卡片展示:</p><p>账单类型</p><p>金额</p><p>欠费天数</p><p>开始时间</p><p>结束时间</p><p>类型文案建议:</p><p>月租账单:显示“月租账单”或收费标准名称</p><p>长租过期临停:显示“临停收费” + 标签“长租过期临停”</p><p>普通临停:显示“临停收费” + 标签“普通临停”</p><p>默认勾选规则</p><p>进入页面后:</p><p>如果存在月租账单:默认只勾选月租账单</p><p>如果不存在月租账单:默认勾选所有可支付临停账单</p><p>不要默认选中“月租 + 临停”。</p><p>示例:</p><p>月租账单:300.00</p><p>长租过期临停:0.06</p><p>默认应付金额应该是:</p><p>300.00</p><p>不是:</p><p>300.06</p><p>勾选限制</p><p>后端现在支持多笔账单一起支付,但前端必须限制:</p><p>同类型账单可以多选</p><p>月租账单和临停账单不能混选</p><p>用户当前选了月租,再点临停时:</p><p>取消原来的月租选择,只选当前临停账单</p><p>toast:月租和临停不能合并支付,已切换为当前账单</p><p>用户当前选了临停,再点月租时同理。</p><p>顶部提示文案</p><p>当页面同时有月租和临停时显示提示。</p><p>如果同时有“长租过期临停”和“普通临停”:</p><p>临停账单分两类:长租过期临停会在月租支付成功后自动作废;普通临停不会作废,需要单独勾选缴纳。</p><p>如果只有“长租过期临停”:</p><p>已默认选择月租账单。当前临停账单属于长租过期期间产生的费用,月租支付成功后会自动作废,无需重复缴纳。</p><p>如果只有“普通临停”:</p><p>当前临停账单属于普通临停费用,不会随月租缴费作废;如需处理请单独勾选缴纳。</p><p>支付接口</p><p>欠费缴纳接口:</p><p>POST /miniapp/parking/bill/payArrears</p><p>请求体:</p><p>{</p><p>"billIds": [10824],</p><p>"paymentChannel": "WECHAT"</p><p>}</p><p>注意:只传用户当前勾选的账单 ID。</p><p>不要传全部账单 ID。</p><p>错误示例:</p><p>{</p><p>"billIds": [10824, 10828],</p><p>"paymentChannel": "WECHAT"</p><p>}</p><p>如果 10824 是月租,10828 是临停,这种不能传。</p><p>支付后流程</p><p>用户支付月租账单成功后:</p><p>1. 微信支付成功</p><p>2. 后端收到支付回调</p><p>3. 月租账单改为已支付</p><p>4. 车辆有效期更新</p><p>5. 后端自动作废 tempBillSource=1 的长租过期临停账单</p><p>6. 前端返回停车首页或刷新车辆详情</p><p>前端支付成功后建议:</p><p>uni.showToast({ title: '支付成功', icon: 'success' });</p><p>setTimeout(() => {</p><p>// 返回停车首页,或者重新拉详情刷新</p><p>}, 1500);</p><p>关键示例</p><p>场景 1:只有月租补缴 + 长租过期临停</p><p>月租账单:300.00</p><p>长租过期临停:0.06</p><p>页面效果:</p><p>默认选中:月租账单</p><p>应付金额:300.00</p><p>临停账单显示标签:长租过期临停</p><p>用户支付 300 成功后,0.06 后端自动作废。</p><p>场景 2:月租补缴 + 普通临停</p><p>月租账单:300.00</p><p>普通临停:12.00</p><p>页面效果:</p><p>默认选中:月租账单</p><p>应付金额:300.00</p><p>普通临停显示标签:普通临停</p><p>用户支付 300 成功后,12 元普通临停不会作废。如果用户要处理 12 元,需要单独勾选支付。</p><p>场景 3:只有多笔普通临停</p><p>普通临停:6.00</p><p>普通临停:12.00</p><p>页面效果:</p><p>可以多选</p><p>应付金额 = 已勾选临停账单金额合计</p><p>可以传:</p><p>{</p><p>"billIds": [1001, 1002],</p><p>"paymentChannel": "WECHAT"</p><p>}</p><p>前端注意事项</p><p>1. 不要根据 validFrom/validTo 自己判断“长租过期临停”,只认 tempBillSource=1。</p><p>2. tempBillSource 缺失时,按普通临停处理,不要显示“长租过期临停”。</p><p>3. 支付金额必须用已勾选账单金额合计,不要用 detail.arrearsAmount。</p><p>4. 支付按钮禁用条件:没有勾选账单、正在支付中。</p><p>5. 微信开发者工具测试时,后端重启后要重新编译或清缓存,否则可能还看到旧页面或旧接口结果。</p>
附件
所属项目
所属执行
所属计划
来源用例
相关需求
相关任务
反馈者
通知邮箱
浏览器
操作系统
抄送给
关键词
保存
返回