日期:2026-08-11 状态:已批准(用户逐项确认)
转账管理页面(module_payment/account/index.vue 的"转账记录" tab)增加导出 Excel 能力,导出的数据跟随表单筛选条件。同时修复两个既有问题:导出时间格式/时区、收款方类型翻译缺失。
GET /transfer/export(AccountController.java:238,权限 module_payment:account:transfer:list),但参数为 start_time/end_time(必填)+ enterprise_id,与页面筛选(out_biz_no/status/tenant_id/enterprise_id,无时间条件)不匹配index.vue:288-295),exportTransferReport API 已定义(account.ts:230,responseType: "blob")但未接线——dead codetransferExport 无其他调用方,参数改动无副作用getCreatedTime().toString()(AccountService.java:332),输出 ISO 格式含 T/偏移;pay_transfer.created_time 为 timestamp without time zone,JDBC 读出的偏移标记取决于 JVM 时区(可能为 Z),导致时间看起来不是东8AccountService.java:316)只有 ALIPAY_ACCOUNT/BANK_CARD,而实际存储的 identity_type 是前端提交的 ALIPAY_USER_ID/ALIPAY_LOGON_ID/BANKCARD_ACCOUNT(转账表单下拉、批量转账 index.vue:1446),map 不命中输出英文transferExport 接口,前端恢复"下载报表"按钮yyyy-MM-dd HH:mm:ss;页面"创建时间"列加 formatter 同样式parseDateTime 既有语义(结束日期解析为当天 00:00:00,与消费记录一致)AccountController.javatransferList(:77):新增 start_time/end_time 选填参数,透传 servicetransferExport(:238):参数改为 6 个全可选——out_biz_no/status/tenant_id/enterprise_id/start_time/end_time;权限不变AccountService.javatransferList(:190):时间条件 w.ge/le(TransferEntity::getCreatedTime, parseDateTime(...)),条件语义与既有四条件一致(eq 精确匹配)transferExport(:295):
transferList 逐条一致(6 条件,全部可选)errorMsg(非空输出,空则空串)createdTime.atZoneSameInstant(ZoneId.of("Asia/Shanghai")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))ALIPAY_USER_ID/ALIPAY_LOGON_ID/ALIPAY_ACCOUNT → 支付宝账户;BANKCARD_ACCOUNT/BANK_CARD → 银行卡account.tsexportTransferReport(:230)参数类型更新:out_biz_no?/status?/tenant_id?/enterprise_id?/start_time?/end_time?,去掉必填的 start_time/end_timeindex.vue(转账记录区域)transferSearchForm 增加 dateRange/start_time/end_time(模式复用消费记录 consumeSearchForm :1806-1824)el-date-picker type="daterange"(value-format="YYYY-MM-DD",消费记录同款 :415-425)handleTransferSearchReset 清空时间条件fetchTransferList 传 start_time/end_timev-hasPerm="['module_payment:account:transfer:list']"、导出中 loading、失败 ElMessage.error、成功 blob → a.download 下载 转账记录.xlsxYYYY-MM-DD HH:mm:ss(东8墙钟,与导出一致)mvn compile;curl 按筛选条件(含时间)调用 /transfer/export,核对导出列、筛选结果、时间格式(东8 yyyy-MM-dd HH:mm:ss)、类型翻译(支付宝账户/银行卡)ts:check 确认无新增错误(项目存在既有错误基线);Playwright 验证筛选时间条件查询、导出按钮下载文件