fix(admin): classify legacy coin seller recharges
This commit is contained in:
parent
dc79adae36
commit
a10213b4d8
@ -18,6 +18,8 @@ var (
|
||||
errLegacyCoinSellerOrderDuplicate = errors.New("legacy coin seller recharge order already exists")
|
||||
)
|
||||
|
||||
const legacyCoinSellerRechargeType = "USDT-进货"
|
||||
|
||||
type coinSellerTarget struct {
|
||||
UserID int64
|
||||
DisplayUserID string
|
||||
@ -214,7 +216,9 @@ WHERE id = ?`, input.CoinAmount, input.UserID, input.GrantedAt, balanceID); err
|
||||
return legacyRechargeGrantResult{}, err
|
||||
}
|
||||
waterID := legacySnowflakeLikeID(input.GrantedAt)
|
||||
rechargeType := legacyRechargeType(input.ProviderCode, input.Chain)
|
||||
// likei-services 经理中心按固定 recharge_type=USDT-进货 汇总币商入金;
|
||||
// V5Pay、Binance 站内转账和链上网络属于支付凭证维度,已完整保存在 admin 订单中,不能写进旧钱包的统计分类字段。
|
||||
rechargeType := legacyCoinSellerRechargeType
|
||||
if _, err := tx.ExecContext(queryCtx, `
|
||||
INSERT INTO user_freight_balance_running_water
|
||||
(id, sys_origin, user_id, accept_user_id, seller_id, type, quantity, usd_quantity, balance, amount, recharge_type, origin, remark, create_user, update_user, create_time, update_time)
|
||||
@ -258,17 +262,6 @@ func decimalBalanceAfter(earnPointsText string, consumptionText string, delta in
|
||||
return int64(earn) + delta - int64(consumption), nil
|
||||
}
|
||||
|
||||
func legacyRechargeType(providerCode string, chain string) string {
|
||||
providerCode = strings.ToUpper(strings.TrimSpace(providerCode))
|
||||
if providerCode == "USDT" {
|
||||
if chain = strings.ToUpper(strings.TrimSpace(chain)); chain != "" {
|
||||
return "USDT-" + chain + "-进货"
|
||||
}
|
||||
return "USDT-进货"
|
||||
}
|
||||
return providerCode + "-进货"
|
||||
}
|
||||
|
||||
func legacySnowflakeLikeID(now time.Time) int64 {
|
||||
// 旧服务用 MyBatis ASSIGN_ID 写 bigint 主键;后台没有接入旧雪花 worker,只需保证单进程内足够唯一且单调。
|
||||
return now.UTC().UnixMilli()*1000 + int64(legacyWaterIDCounter.Add(1)%1000)
|
||||
|
||||
@ -32,7 +32,7 @@ func TestLegacyCoinSellerRechargeWriterGrantUpdatesBalanceAndRunningWater(t *tes
|
||||
WithArgs(int64(1200), int64(10001), grantedAt, int64(77)).
|
||||
WillReturnResult(sqlmock.NewResult(0, 1))
|
||||
walletMock.ExpectExec(`(?s)INSERT INTO user_freight_balance_running_water`).
|
||||
WithArgs(sqlmock.AnyArg(), "ATYOU", int64(10001), int64(10001), nil, int64(1200), int64(5200), "12.34", "MIFAPAY-进货", "MIFA-001", int64(10001), int64(10001), grantedAt, grantedAt).
|
||||
WithArgs(sqlmock.AnyArg(), "ATYOU", int64(10001), int64(10001), nil, int64(1200), int64(5200), "12.34", legacyCoinSellerRechargeType, "MIFA-001", int64(10001), int64(10001), grantedAt, grantedAt).
|
||||
WillReturnResult(sqlmock.NewResult(0, 1))
|
||||
walletMock.ExpectCommit()
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user