fix: 修改充值提现配置和充值接口

This commit is contained in:
JiaJun
2026-07-06 16:52:47 +08:00
parent e0859d2606
commit db1251c761
13 changed files with 830 additions and 13 deletions

View File

@@ -14,6 +14,9 @@ import type {
DepositWithdrawConfig,
DepositWithdrawConfigDto,
FinanceCurrencyConfigDto,
FinanceDepositConfigDto,
FinanceDepositFieldsDto,
FinanceDepositMethodDto,
FinanceOrderItemDto,
FinanceOrderList,
FinanceOrderListDto,
@@ -80,7 +83,7 @@ function normalizePayChannel(dto: FinancePayChannelDto) {
code: dto.code,
name: dto.name,
sort: Number.isFinite(dto.sort) ? dto.sort : 0,
status: dto.status,
status: typeof dto.status === 'number' ? dto.status : 1,
tierIds: Array.isArray(dto.tier_ids) ? dto.tier_ids : [],
}
}
@@ -91,6 +94,8 @@ function normalizeWithdrawBank(dto: FinanceWithdrawBankDto, index: number) {
return {
code,
currencyCode: dto.currency_code ?? null,
gatewayCode: dto.gateway_code ?? null,
label,
sort:
typeof dto.sort === 'number' && Number.isFinite(dto.sort)
@@ -100,15 +105,68 @@ function normalizeWithdrawBank(dto: FinanceWithdrawBankDto, index: number) {
}
}
function normalizeDepositMethod(dto: FinanceDepositMethodDto) {
return {
code: dto.code,
currencyCode: dto.currency_code,
gatewayCode: dto.gateway_code,
name: dto.name,
requiresBank: dto.requires_bank,
requiresBankAccount: dto.requires_bank_account,
requiresDepositorName: dto.requires_depositor_name,
requiresFromAddress: dto.requires_from_address,
}
}
function normalizeDepositFields(dto: FinanceDepositFieldsDto | undefined = {}) {
return {
depositBankAccountParam:
dto.deposit_bank_account_param ?? 'deposit_bank_account',
depositBankParam: dto.deposit_bank_param ?? 'deposit_bank',
depositFromAddressParam:
dto.deposit_from_address_param ?? 'deposit_from_address',
depositNameServerSide: dto.deposit_name_server_side ?? false,
paymentTypeParam: dto.payment_type_param ?? 'payment_type',
requireChannelCode: dto.require_channel_code ?? true,
requireIdempotencyKey: dto.require_idempotency_key ?? true,
requirePaymentType: dto.require_payment_type ?? false,
}
}
function normalizeDepositConfig(dto: FinanceDepositConfigDto | undefined) {
return {
banks: (dto?.banks ?? []).map(normalizeWithdrawBank),
defaultChannelByCurrency: dto?.default_channel_by_currency ?? {},
fields: normalizeDepositFields(dto?.fields),
methods: (dto?.methods ?? []).map(normalizeDepositMethod),
}
}
function normalizeWithdrawFields(dto: FinanceWithdrawConfigDto['fields'] = {}) {
return {
receiveTypeBankOnly: dto.receive_type_bank_only ?? true,
requireBankBranch: dto.require_bank_branch ?? false,
requireBankCode: dto.require_bank_code ?? true,
requireChannelCode: dto.require_channel_code ?? true,
requireReceiveAccount: dto.require_receive_account ?? true,
requireReceiverEmail: dto.require_receiver_email ?? true,
requireReceiverMobile: dto.require_receiver_mobile ?? true,
requireReceiverName: dto.require_receiver_name ?? true,
}
}
function normalizeWithdrawConfig(dto: FinanceWithdrawConfigDto) {
return {
banks: (dto.banks ?? []).map(normalizeWithdrawBank),
feeNote: dto.fee_note,
fields: normalizeWithdrawFields(dto.fields),
minBank: dto.min_bank,
minEwallet: dto.min_ewallet,
payChannels: (dto.pay_channels ?? []).map(normalizePayChannel),
processingNote: dto.processing_note,
rateHint: dto.rate_hint,
rateMode: dto.rate_mode,
reviewThresholdCoin: dto.review_threshold_coin ?? '0',
}
}
@@ -117,6 +175,8 @@ function normalizeDepositWithdrawConfig(
): DepositWithdrawConfig {
return {
currencies: (dto.currencies ?? []).map(normalizeCurrency),
defaultDepositChannelCode: dto.default_deposit_channel_code ?? '',
deposit: normalizeDepositConfig(dto.deposit),
payChannels: (dto.pay_channels ?? []).map(normalizePayChannel),
platformCoinLabel: dto.platform_coin_label,
rates: (dto.rates ?? []).map(normalizeRate),