fix(export): 修复Excel导出zipstream库PHP8兼容性与临时文件安全流式输出

这个提交包含在:
chen
2026-09-21 15:19:30 +08:00
父节点 d664c7eb85
当前提交 452c2f22a2
共有 15 个文件被更改,包括 132 次插入 和 100 次删除

查看文件

@@ -1,5 +1,5 @@
/**
* 历史收益全量结转至商城余额专项测试
* 历史收益全量结转至钱包余额专项测试
* 覆盖范围:
* 1. WalletMigrationService 业务服务契约与原子性逻辑
* 2. PartnerTransferCommission 控制台命令
@@ -26,7 +26,7 @@ function assert(condition, message) {
}
console.log('========================================================');
console.log(' 历史收益全量结转至商城余额专项测试');
console.log(' 历史收益全量结转至钱包余额专项测试');
console.log('========================================================\n');
// ----------------------------------------------------
@@ -42,7 +42,7 @@ if (fs.existsSync(migrationServicePath)) {
assert(content.includes('Db::transaction(function ()'), '结转过程使用数据库事务');
assert(content.includes('lock(true)'), '读取用户使用排他行锁 lock(true) 防并发脏读');
assert(content.includes("Wallet::change($user, 'commission', -$amount, 'transfer_to_money'"), '调用 Wallet::change 扣减佣金钱包');
assert(content.includes("Wallet::change($user, 'money', $amount, 'transfer_by_commission'"), '调用 Wallet::change 增加商城余额');
assert(content.includes("Wallet::change($user, 'money', $amount, 'transfer_by_commission'"), '调用 Wallet::change 增加钱包余额');
assert(content.includes('bcadd('), '资金累计采用高精度 bcadd 避免浮点误差');
}
@@ -167,9 +167,9 @@ assert(result.totalTransferred === '648.50', '结转总金额精确匹配 250.50
// 校验各个用户结转后的状态
assert(initialUsers[0].commission === '0.00', '张三佣金归零');
assert(initialUsers[0].money === '350.50', '张三商城余额从 100 增至 350.50');
assert(initialUsers[0].money === '350.50', '张三钱包余额从 100 增至 350.50');
assert(initialUsers[1].commission === '0.00', '李四佣金归零');
assert(initialUsers[1].money === '398.00', '李四商城余额从 0 增至 398.00');
assert(initialUsers[1].money === '398.00', '李四钱包余额从 0 增至 398.00');
assert(initialUsers[2].commission === '0.00' && initialUsers[2].money === '50.00', '王五佣金本为0,保持不变');
assert(initialUsers[3].commission === '120.00' && initialUsers[3].money === '80.00', '赵六发生异常,资金状态未被污染');