feat(distribution): 通道费改主站承担,并按冷却期自动释放结算

利润不再扣支付通道费;站点可配置结算冷却期,到期自动入账,已释放后退款从收款站钱包回冲。同时修复当日自动批次无法追加、三方回冲打错钱包,以及测试库自增重置被 MySQL 统计缓存跳过的问题。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-10 17:11:58 +08:00
co-authored by Cursor
parent 47ceb53c09
commit 647fdc0b4a
24 changed files with 1399 additions and 129 deletions
+12 -1
View File
@@ -494,7 +494,18 @@ func truncateAllTables(db *gorm.DB) error {
}
func listAutoIncrementTables(db *sql.DB) ([]string, error) {
rows, err := db.Query(
ctx := context.Background()
conn, err := db.Conn(ctx)
if err != nil {
return nil, err
}
defer func() { _ = conn.Close() }()
// MySQL 8 默认缓存 information_schema 的统计信息(86400s),
// 直接读取 auto_increment 可能拿到陈旧值并跳过重置,必须在本连接关闭缓存后再查。
if _, err := conn.ExecContext(ctx, "SET SESSION information_schema_stats_expiry = 0"); err != nil {
return nil, err
}
rows, err := conn.QueryContext(ctx,
"SELECT table_name FROM information_schema.tables "+
"WHERE table_schema = DATABASE() AND table_name <> ? AND auto_increment > 1",
schemaMetaTable,