@downcity/services 0.1.109 → 0.1.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -9
- package/bin/accounts/helpers.d.ts +18 -0
- package/bin/accounts/helpers.d.ts.map +1 -0
- package/bin/accounts/helpers.js +35 -0
- package/bin/accounts/helpers.js.map +1 -0
- package/bin/accounts/index.d.ts +19 -8
- package/bin/accounts/index.d.ts.map +1 -1
- package/bin/accounts/index.js +74 -55
- package/bin/accounts/index.js.map +1 -1
- package/bin/accounts/oauth.d.ts +1 -1
- package/bin/accounts/oauth.d.ts.map +1 -1
- package/bin/accounts/oauth.js +4 -4
- package/bin/accounts/oauth.js.map +1 -1
- package/bin/accounts/providers/email.d.ts +13 -0
- package/bin/accounts/providers/email.d.ts.map +1 -0
- package/bin/accounts/providers/email.js +33 -0
- package/bin/accounts/providers/email.js.map +1 -0
- package/bin/accounts/providers/index.d.ts +10 -0
- package/bin/accounts/providers/index.d.ts.map +1 -0
- package/bin/accounts/providers/index.js +10 -0
- package/bin/accounts/providers/index.js.map +1 -0
- package/bin/accounts/providers/oauth.d.ts +26 -0
- package/bin/accounts/providers/oauth.d.ts.map +1 -0
- package/bin/accounts/providers/oauth.js +75 -0
- package/bin/accounts/providers/oauth.js.map +1 -0
- package/bin/accounts/types.d.ts +176 -0
- package/bin/accounts/types.d.ts.map +1 -0
- package/bin/accounts/types.js +9 -0
- package/bin/accounts/types.js.map +1 -0
- package/bin/balance/credits.d.ts +42 -0
- package/bin/balance/credits.d.ts.map +1 -0
- package/bin/balance/credits.js +67 -0
- package/bin/balance/credits.js.map +1 -0
- package/bin/balance/index.d.ts +2 -2
- package/bin/balance/index.d.ts.map +1 -1
- package/bin/balance/index.js +1 -1
- package/bin/balance/index.js.map +1 -1
- package/bin/balance/routes.d.ts.map +1 -1
- package/bin/balance/routes.js +5 -5
- package/bin/balance/routes.js.map +1 -1
- package/bin/balance/schema.d.ts +12 -12
- package/bin/balance/schema.js +12 -12
- package/bin/balance/schema.js.map +1 -1
- package/bin/balance/service.d.ts +23 -23
- package/bin/balance/service.d.ts.map +1 -1
- package/bin/balance/service.js +63 -67
- package/bin/balance/service.js.map +1 -1
- package/bin/balance/types.d.ts +31 -45
- package/bin/balance/types.d.ts.map +1 -1
- package/bin/balance/types.js +3 -4
- package/bin/balance/types.js.map +1 -1
- package/bin/balance/utils.d.ts.map +1 -1
- package/bin/balance/utils.js +21 -22
- package/bin/balance/utils.js.map +1 -1
- package/bin/index.d.ts +5 -3
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +3 -2
- package/bin/index.js.map +1 -1
- package/bin/payment/providers/creem/client.js +5 -5
- package/bin/payment/providers/creem/client.js.map +1 -1
- package/bin/payment/providers/dodo/client.js +5 -5
- package/bin/payment/providers/dodo/client.js.map +1 -1
- package/bin/payment/providers/stripe/client.js +3 -3
- package/bin/payment/providers/stripe/client.js.map +1 -1
- package/bin/payment/providers/waffo/client.js +5 -5
- package/bin/payment/providers/waffo/client.js.map +1 -1
- package/bin/payment/routes.js +1 -1
- package/bin/payment/routes.js.map +1 -1
- package/bin/payment/schema.d.ts +2 -2
- package/bin/payment/schema.js +1 -1
- package/bin/payment/schema.js.map +1 -1
- package/bin/payment/service.d.ts +2 -2
- package/bin/payment/types.d.ts +5 -5
- package/bin/payment/types.d.ts.map +1 -1
- package/bin/types/Amount.d.ts +8 -12
- package/bin/types/Amount.d.ts.map +1 -1
- package/bin/types/Amount.js +7 -7
- package/bin/types/Amount.js.map +1 -1
- package/package.json +2 -2
- package/bin/balance/amount.d.ts +0 -53
- package/bin/balance/amount.d.ts.map +0 -1
- package/bin/balance/amount.js +0 -103
- package/bin/balance/amount.js.map +0 -1
package/bin/balance/service.js
CHANGED
|
@@ -11,7 +11,7 @@ import { rawAll, rawFirst, rawRun } from "./raw.js";
|
|
|
11
11
|
import { registerBalanceRoutes } from "./routes.js";
|
|
12
12
|
import { ACCOUNT_TABLE, CHARGE_TABLE, LEDGER_TABLE, REDEEM_CODE_TABLE, TOPUP_TABLE, balanceAccounts, balanceCharges, balanceLedger, balanceRedeemCodes, balanceTopups, } from "./schema.js";
|
|
13
13
|
import { generateRedeemCode, hashRedeemCode, maskRedeemCode, mergeMetaJSON, normalizeLimit, normalizeRedeemCode, normalizeRedeemCodeStatus, normalizeText, normalizeUserId, parseAccountRow, parseChargeRow, parseLedgerRow, parseMetaJSON, parseRedeemCodeRow, parseTopupRow, randomId, readRequired, stringifyMeta, } from "./utils.js";
|
|
14
|
-
import {
|
|
14
|
+
import { creditsToUsdCents, readCredits, readNonNegativeCredits, } from "./credits.js";
|
|
15
15
|
/**
|
|
16
16
|
* Balance 服务实例。
|
|
17
17
|
*
|
|
@@ -28,17 +28,16 @@ export class BalanceService extends InstallableService {
|
|
|
28
28
|
redeem_codes: balanceRedeemCodes,
|
|
29
29
|
charges: balanceCharges,
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
initCredits;
|
|
32
32
|
constructor(options = {}) {
|
|
33
33
|
super();
|
|
34
|
-
this.
|
|
35
|
-
|
|
36
|
-
amount_microcredits: options.init_microcredits,
|
|
34
|
+
this.initCredits = readNonNegativeCredits({
|
|
35
|
+
credits: options.init_credits ?? 0,
|
|
37
36
|
}, "init");
|
|
38
37
|
this.instruction = [
|
|
39
38
|
"提供用户级全局余额、余额流水、充值单与 redeem_code 能力。",
|
|
40
|
-
"内部账务与管理端的 `
|
|
41
|
-
`首次自动开户发放 ${this.
|
|
39
|
+
"内部账务与管理端的 `credits` / `credits_delta` / `credits_after` 字段均使用 credits 整数;用户侧 `/me` 返回 credits 主字段并附带 USD 展示。",
|
|
40
|
+
`首次自动开户发放 ${this.initCredits} credits。`,
|
|
42
41
|
"推荐在业务侧自行计算扣费金额后调用 charge,把具体计费策略放在业务侧,而不是写死在 BalanceService 内部。",
|
|
43
42
|
"管理端可查询所有账户、流水、充值单、扣费记录与 redeem_code;用户侧可查询自己的余额、历史记录、充值单,并直接兑换 redeem_code。",
|
|
44
43
|
].join("\n");
|
|
@@ -61,44 +60,44 @@ export class BalanceService extends InstallableService {
|
|
|
61
60
|
*
|
|
62
61
|
* 余额不足时会抛出 `402 insufficient balance`。
|
|
63
62
|
*/
|
|
64
|
-
async require(user_id,
|
|
65
|
-
return await this.
|
|
63
|
+
async require(user_id, credits) {
|
|
64
|
+
return await this.requireCredits(user_id, readCredits({ credits }));
|
|
66
65
|
}
|
|
67
66
|
/**
|
|
68
|
-
* 检查用户余额是否足够,入参单位为
|
|
67
|
+
* 检查用户余额是否足够,入参单位为 credits。
|
|
69
68
|
*/
|
|
70
|
-
async
|
|
69
|
+
async requireCredits(user_id, credits) {
|
|
71
70
|
const normalizedUserId = normalizeUserId(user_id);
|
|
72
|
-
const
|
|
71
|
+
const normalizedCredits = readCredits({ credits });
|
|
73
72
|
const account = await this.read(normalizedUserId);
|
|
74
|
-
if (account.
|
|
75
|
-
throw httpError(402, `insufficient balance: need ${
|
|
73
|
+
if (account.credits < normalizedCredits) {
|
|
74
|
+
throw httpError(402, `insufficient balance: need ${normalizedCredits} credits, current ${account.credits} credits`);
|
|
76
75
|
}
|
|
77
76
|
return account;
|
|
78
77
|
}
|
|
79
78
|
/**
|
|
80
79
|
* 给用户加余额,并写入 `add` 流水。
|
|
81
80
|
*/
|
|
82
|
-
async add(user_id,
|
|
83
|
-
return await this.
|
|
81
|
+
async add(user_id, credits, extra = {}) {
|
|
82
|
+
return await this.addCredits(user_id, readCredits({ credits }), extra);
|
|
84
83
|
}
|
|
85
84
|
/**
|
|
86
|
-
* 给用户加余额,入参单位为
|
|
85
|
+
* 给用户加余额,入参单位为 credits。
|
|
87
86
|
*/
|
|
88
|
-
async
|
|
89
|
-
return await this.applyDelta(normalizeUserId(user_id),
|
|
87
|
+
async addCredits(user_id, credits, extra = {}) {
|
|
88
|
+
return await this.applyDelta(normalizeUserId(user_id), readCredits({ credits }), "add", extra);
|
|
90
89
|
}
|
|
91
90
|
/**
|
|
92
91
|
* 给用户扣余额,并写入 `sub` 流水。
|
|
93
92
|
*/
|
|
94
|
-
async sub(user_id,
|
|
95
|
-
return await this.
|
|
93
|
+
async sub(user_id, credits, extra = {}) {
|
|
94
|
+
return await this.subCredits(user_id, readCredits({ credits }), extra);
|
|
96
95
|
}
|
|
97
96
|
/**
|
|
98
|
-
* 给用户扣余额,入参单位为
|
|
97
|
+
* 给用户扣余额,入参单位为 credits。
|
|
99
98
|
*/
|
|
100
|
-
async
|
|
101
|
-
return await this.applyDelta(normalizeUserId(user_id), -
|
|
99
|
+
async subCredits(user_id, credits, extra = {}) {
|
|
100
|
+
return await this.applyDelta(normalizeUserId(user_id), -readCredits({ credits }), "sub", extra);
|
|
102
101
|
}
|
|
103
102
|
/**
|
|
104
103
|
* 执行一笔通用扣费,并写入扣费记录与余额流水。
|
|
@@ -110,15 +109,13 @@ export class BalanceService extends InstallableService {
|
|
|
110
109
|
*/
|
|
111
110
|
async charge(input) {
|
|
112
111
|
const user_id = normalizeUserId(input.user_id);
|
|
113
|
-
const
|
|
114
|
-
amount_microcredits: input.amount_microcredits,
|
|
115
|
-
}, "amount");
|
|
112
|
+
const credits = readCredits(input);
|
|
116
113
|
const charge_id = `chg_${randomId()}`;
|
|
117
114
|
const note = normalizeText(input.note) || "charge";
|
|
118
115
|
const ref = normalizeText(input.ref) || charge_id;
|
|
119
116
|
const metadata = input.metadata ?? input.meta;
|
|
120
117
|
const now = new Date().toISOString();
|
|
121
|
-
await this.applyDelta(user_id, -
|
|
118
|
+
await this.applyDelta(user_id, -credits, "charge", {
|
|
122
119
|
note,
|
|
123
120
|
ref,
|
|
124
121
|
meta: {
|
|
@@ -129,8 +126,7 @@ export class BalanceService extends InstallableService {
|
|
|
129
126
|
const charge = {
|
|
130
127
|
charge_id,
|
|
131
128
|
user_id,
|
|
132
|
-
|
|
133
|
-
amount_microcredits,
|
|
129
|
+
credits,
|
|
134
130
|
status: "settled",
|
|
135
131
|
note,
|
|
136
132
|
ref,
|
|
@@ -138,12 +134,12 @@ export class BalanceService extends InstallableService {
|
|
|
138
134
|
created_at: now,
|
|
139
135
|
};
|
|
140
136
|
await rawRun(this.resolveRaw(), [
|
|
141
|
-
`INSERT INTO ${CHARGE_TABLE} (charge_id, user_id,
|
|
137
|
+
`INSERT INTO ${CHARGE_TABLE} (charge_id, user_id, credits, status, note, ref, metadata_json, created_at)`,
|
|
142
138
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
|
|
143
139
|
].join(" "), [
|
|
144
140
|
charge.charge_id,
|
|
145
141
|
charge.user_id,
|
|
146
|
-
charge.
|
|
142
|
+
charge.credits,
|
|
147
143
|
charge.status,
|
|
148
144
|
charge.note,
|
|
149
145
|
charge.ref,
|
|
@@ -176,15 +172,15 @@ export class BalanceService extends InstallableService {
|
|
|
176
172
|
*
|
|
177
173
|
* 这一步不会直接入账,只会生成 `pending` 充值单。
|
|
178
174
|
*/
|
|
179
|
-
async createTopup(user_id,
|
|
175
|
+
async createTopup(user_id, credits, extra = {}) {
|
|
180
176
|
const normalizedUserId = normalizeUserId(user_id);
|
|
181
|
-
const
|
|
177
|
+
const normalizedCredits = readCredits({ credits });
|
|
182
178
|
const now = new Date().toISOString();
|
|
183
179
|
const topup = {
|
|
184
180
|
topup_id: `topup_${randomId()}`,
|
|
185
181
|
user_id: normalizedUserId,
|
|
186
|
-
|
|
187
|
-
|
|
182
|
+
credits: normalizedCredits,
|
|
183
|
+
usd_cents: creditsToUsdCents(normalizedCredits),
|
|
188
184
|
status: "pending",
|
|
189
185
|
note: normalizeText(extra.note),
|
|
190
186
|
ref: normalizeText(extra.ref),
|
|
@@ -194,12 +190,12 @@ export class BalanceService extends InstallableService {
|
|
|
194
190
|
};
|
|
195
191
|
await this.ensureAccount(normalizedUserId);
|
|
196
192
|
await rawRun(this.resolveRaw(), [
|
|
197
|
-
`INSERT INTO ${TOPUP_TABLE} (topup_id, user_id,
|
|
193
|
+
`INSERT INTO ${TOPUP_TABLE} (topup_id, user_id, credits, status, note, ref, metadata_json, created_at, updated_at)`,
|
|
198
194
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
|
199
195
|
].join(" "), [
|
|
200
196
|
topup.topup_id,
|
|
201
197
|
topup.user_id,
|
|
202
|
-
topup.
|
|
198
|
+
topup.credits,
|
|
203
199
|
topup.status,
|
|
204
200
|
topup.note,
|
|
205
201
|
topup.ref,
|
|
@@ -234,7 +230,7 @@ export class BalanceService extends InstallableService {
|
|
|
234
230
|
if (changed === 0) {
|
|
235
231
|
throw httpError(409, "topup is no longer pending");
|
|
236
232
|
}
|
|
237
|
-
await this.applyDelta(current.user_id, current.
|
|
233
|
+
await this.applyDelta(current.user_id, current.credits, "topup", {
|
|
238
234
|
note: normalizeText(extra.note) || current.note || "topup",
|
|
239
235
|
ref: normalizeText(extra.ref) || topup_id,
|
|
240
236
|
meta: {
|
|
@@ -275,7 +271,7 @@ export class BalanceService extends InstallableService {
|
|
|
275
271
|
* 创建一个新的 redeem_code。
|
|
276
272
|
*/
|
|
277
273
|
async createRedeemCode(input) {
|
|
278
|
-
const
|
|
274
|
+
const credits = readCredits(input);
|
|
279
275
|
const now = new Date().toISOString();
|
|
280
276
|
const code = input.code ? normalizeRedeemCode(input.code) : generateRedeemCode();
|
|
281
277
|
const codeHash = await hashRedeemCode(code);
|
|
@@ -284,7 +280,7 @@ export class BalanceService extends InstallableService {
|
|
|
284
280
|
}
|
|
285
281
|
const redeemCode = {
|
|
286
282
|
redeem_code_id: `rc_${randomId()}`,
|
|
287
|
-
|
|
283
|
+
credits,
|
|
288
284
|
status: "active",
|
|
289
285
|
code_mask: maskRedeemCode(code),
|
|
290
286
|
note: normalizeText(input.note),
|
|
@@ -296,13 +292,13 @@ export class BalanceService extends InstallableService {
|
|
|
296
292
|
updated_at: now,
|
|
297
293
|
};
|
|
298
294
|
await rawRun(this.resolveRaw(), [
|
|
299
|
-
`INSERT INTO ${REDEEM_CODE_TABLE} (redeem_code_id, code_hash, code_mask,
|
|
295
|
+
`INSERT INTO ${REDEEM_CODE_TABLE} (redeem_code_id, code_hash, code_mask, credits, status, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at)`,
|
|
300
296
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
|
301
297
|
].join(" "), [
|
|
302
298
|
redeemCode.redeem_code_id,
|
|
303
299
|
codeHash,
|
|
304
300
|
redeemCode.code_mask,
|
|
305
|
-
redeemCode.
|
|
301
|
+
redeemCode.credits,
|
|
306
302
|
redeemCode.status,
|
|
307
303
|
redeemCode.note,
|
|
308
304
|
redeemCode.ref,
|
|
@@ -351,7 +347,7 @@ export class BalanceService extends InstallableService {
|
|
|
351
347
|
const latest = await this.readRedeemCodeRequired(current.redeem_code_id);
|
|
352
348
|
throw httpError(409, `redeem_code is already ${latest.status}`);
|
|
353
349
|
}
|
|
354
|
-
const account = await this.applyDelta(normalizedUserId, current.
|
|
350
|
+
const account = await this.applyDelta(normalizedUserId, current.credits, "redeem", {
|
|
355
351
|
note: normalizeText(extra.note) || current.note || "redeem_code",
|
|
356
352
|
ref: normalizeText(extra.ref) || current.redeem_code_id,
|
|
357
353
|
meta: {
|
|
@@ -397,7 +393,7 @@ export class BalanceService extends InstallableService {
|
|
|
397
393
|
*/
|
|
398
394
|
async listUsers(limit) {
|
|
399
395
|
const rows = await rawAll(this.resolveRaw(), [
|
|
400
|
-
`SELECT user_id,
|
|
396
|
+
`SELECT user_id, credits, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
|
|
401
397
|
"ORDER BY updated_at DESC",
|
|
402
398
|
"LIMIT ?",
|
|
403
399
|
].join(" "), [normalizeLimit(limit)]);
|
|
@@ -415,7 +411,7 @@ export class BalanceService extends InstallableService {
|
|
|
415
411
|
})()
|
|
416
412
|
: "";
|
|
417
413
|
const rows = await rawAll(this.resolveRaw(), [
|
|
418
|
-
`SELECT entry_id, user_id, kind,
|
|
414
|
+
`SELECT entry_id, user_id, kind, credits_delta, credits_after, note, ref, metadata_json, created_at FROM ${LEDGER_TABLE}`,
|
|
419
415
|
where,
|
|
420
416
|
"ORDER BY created_at DESC, rowid DESC",
|
|
421
417
|
"LIMIT ?",
|
|
@@ -434,7 +430,7 @@ export class BalanceService extends InstallableService {
|
|
|
434
430
|
})()
|
|
435
431
|
: "";
|
|
436
432
|
const rows = await rawAll(this.resolveRaw(), [
|
|
437
|
-
`SELECT topup_id, user_id,
|
|
433
|
+
`SELECT topup_id, user_id, credits, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
|
|
438
434
|
where,
|
|
439
435
|
"ORDER BY created_at DESC",
|
|
440
436
|
"LIMIT ?",
|
|
@@ -458,7 +454,7 @@ export class BalanceService extends InstallableService {
|
|
|
458
454
|
}
|
|
459
455
|
const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
|
|
460
456
|
const rows = await rawAll(this.resolveRaw(), [
|
|
461
|
-
`SELECT redeem_code_id,
|
|
457
|
+
`SELECT redeem_code_id, credits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
|
|
462
458
|
where,
|
|
463
459
|
"ORDER BY created_at DESC",
|
|
464
460
|
"LIMIT ?",
|
|
@@ -477,7 +473,7 @@ export class BalanceService extends InstallableService {
|
|
|
477
473
|
})()
|
|
478
474
|
: "";
|
|
479
475
|
const rows = await rawAll(this.resolveRaw(), [
|
|
480
|
-
`SELECT charge_id, user_id,
|
|
476
|
+
`SELECT charge_id, user_id, credits, status, note, ref, metadata_json, created_at FROM ${CHARGE_TABLE}`,
|
|
481
477
|
where,
|
|
482
478
|
"ORDER BY created_at DESC, rowid DESC",
|
|
483
479
|
"LIMIT ?",
|
|
@@ -499,7 +495,7 @@ export class BalanceService extends InstallableService {
|
|
|
499
495
|
if (delta > 0) {
|
|
500
496
|
await rawRun(this.resolveRaw(), [
|
|
501
497
|
`UPDATE ${ACCOUNT_TABLE}`,
|
|
502
|
-
"SET
|
|
498
|
+
"SET credits = credits + ?, updated_at = ?",
|
|
503
499
|
"WHERE user_id = ?",
|
|
504
500
|
].join(" "), [delta, now, user_id]);
|
|
505
501
|
}
|
|
@@ -507,12 +503,12 @@ export class BalanceService extends InstallableService {
|
|
|
507
503
|
const spend = Math.abs(delta);
|
|
508
504
|
const changed = await rawRun(this.resolveRaw(), [
|
|
509
505
|
`UPDATE ${ACCOUNT_TABLE}`,
|
|
510
|
-
"SET
|
|
511
|
-
"WHERE user_id = ? AND
|
|
506
|
+
"SET credits = credits - ?, updated_at = ?",
|
|
507
|
+
"WHERE user_id = ? AND credits >= ?",
|
|
512
508
|
].join(" "), [spend, now, user_id, spend]);
|
|
513
509
|
if (changed === 0) {
|
|
514
510
|
const current = await this.readAccountRequired(user_id);
|
|
515
|
-
throw httpError(402, `insufficient balance: need ${spend}
|
|
511
|
+
throw httpError(402, `insufficient balance: need ${spend} credits, current ${current.credits} credits`);
|
|
516
512
|
}
|
|
517
513
|
}
|
|
518
514
|
const account = await this.readAccountRequired(user_id);
|
|
@@ -520,8 +516,8 @@ export class BalanceService extends InstallableService {
|
|
|
520
516
|
entry_id: `bal_${randomId()}`,
|
|
521
517
|
user_id,
|
|
522
518
|
kind,
|
|
523
|
-
|
|
524
|
-
|
|
519
|
+
credits_delta: delta,
|
|
520
|
+
credits_after: account.credits,
|
|
525
521
|
note: normalizeText(extra.note),
|
|
526
522
|
ref: normalizeText(extra.ref),
|
|
527
523
|
metadata_json: stringifyMeta(extra.meta),
|
|
@@ -535,16 +531,16 @@ export class BalanceService extends InstallableService {
|
|
|
535
531
|
async ensureAccount(user_id) {
|
|
536
532
|
const now = new Date().toISOString();
|
|
537
533
|
const inserted = await rawRun(this.resolveRaw(), [
|
|
538
|
-
`INSERT OR IGNORE INTO ${ACCOUNT_TABLE} (user_id,
|
|
534
|
+
`INSERT OR IGNORE INTO ${ACCOUNT_TABLE} (user_id, credits, created_at, updated_at)`,
|
|
539
535
|
"VALUES (?, ?, ?, ?)",
|
|
540
|
-
].join(" "), [user_id, this.
|
|
541
|
-
if (inserted > 0 && this.
|
|
536
|
+
].join(" "), [user_id, this.initCredits, now, now]);
|
|
537
|
+
if (inserted > 0 && this.initCredits > 0) {
|
|
542
538
|
await this.insertLedger({
|
|
543
539
|
entry_id: `bal_${randomId()}`,
|
|
544
540
|
user_id,
|
|
545
541
|
kind: "init",
|
|
546
|
-
|
|
547
|
-
|
|
542
|
+
credits_delta: this.initCredits,
|
|
543
|
+
credits_after: this.initCredits,
|
|
548
544
|
note: "initial balance",
|
|
549
545
|
ref: "",
|
|
550
546
|
metadata_json: "{}",
|
|
@@ -557,7 +553,7 @@ export class BalanceService extends InstallableService {
|
|
|
557
553
|
*/
|
|
558
554
|
async readAccountRequired(user_id) {
|
|
559
555
|
const row = await rawFirst(this.resolveRaw(), [
|
|
560
|
-
`SELECT user_id,
|
|
556
|
+
`SELECT user_id, credits, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
|
|
561
557
|
"WHERE user_id = ?",
|
|
562
558
|
].join(" "), [user_id]);
|
|
563
559
|
if (!row) {
|
|
@@ -570,7 +566,7 @@ export class BalanceService extends InstallableService {
|
|
|
570
566
|
*/
|
|
571
567
|
async readTopupRequired(topup_id) {
|
|
572
568
|
const row = await rawFirst(this.resolveRaw(), [
|
|
573
|
-
`SELECT topup_id, user_id,
|
|
569
|
+
`SELECT topup_id, user_id, credits, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
|
|
574
570
|
"WHERE topup_id = ?",
|
|
575
571
|
].join(" "), [readRequired(topup_id, "topup_id")]);
|
|
576
572
|
if (!row) {
|
|
@@ -583,7 +579,7 @@ export class BalanceService extends InstallableService {
|
|
|
583
579
|
*/
|
|
584
580
|
async readRedeemCodeRequired(redeem_code_id) {
|
|
585
581
|
const row = await rawFirst(this.resolveRaw(), [
|
|
586
|
-
`SELECT redeem_code_id,
|
|
582
|
+
`SELECT redeem_code_id, credits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
|
|
587
583
|
"WHERE redeem_code_id = ?",
|
|
588
584
|
].join(" "), [readRequired(redeem_code_id, "redeem_code_id")]);
|
|
589
585
|
if (!row) {
|
|
@@ -596,7 +592,7 @@ export class BalanceService extends InstallableService {
|
|
|
596
592
|
*/
|
|
597
593
|
async readRedeemCodeByHash(codeHash) {
|
|
598
594
|
const row = await rawFirst(this.resolveRaw(), [
|
|
599
|
-
`SELECT redeem_code_id, code_hash,
|
|
595
|
+
`SELECT redeem_code_id, code_hash, credits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
|
|
600
596
|
"WHERE code_hash = ?",
|
|
601
597
|
].join(" "), [readRequired(codeHash, "code_hash")]);
|
|
602
598
|
return row
|
|
@@ -611,14 +607,14 @@ export class BalanceService extends InstallableService {
|
|
|
611
607
|
*/
|
|
612
608
|
async insertLedger(entry) {
|
|
613
609
|
await rawRun(this.resolveRaw(), [
|
|
614
|
-
`INSERT INTO ${LEDGER_TABLE} (entry_id, user_id, kind,
|
|
610
|
+
`INSERT INTO ${LEDGER_TABLE} (entry_id, user_id, kind, credits_delta, credits_after, note, ref, metadata_json, created_at)`,
|
|
615
611
|
"VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
|
616
612
|
].join(" "), [
|
|
617
613
|
entry.entry_id,
|
|
618
614
|
entry.user_id,
|
|
619
615
|
entry.kind,
|
|
620
|
-
entry.
|
|
621
|
-
entry.
|
|
616
|
+
entry.credits_delta,
|
|
617
|
+
entry.credits_after,
|
|
622
618
|
entry.note,
|
|
623
619
|
entry.ref,
|
|
624
620
|
entry.metadata_json,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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"}
|
package/bin/balance/types.d.ts
CHANGED
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Balance 服务对外类型定义。
|
|
3
3
|
*
|
|
4
4
|
* 关键说明(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - 用户侧 `/v1/balance/me` 以 credits 作为主展示单位,并附带 microcredits 与换算信息
|
|
5
|
+
* - credits 是唯一账务单位,1 USD = 1_000_000 credits
|
|
6
|
+
* - `credits` / `credits_delta` / `credits_after` 的数值单位均为 credits 整数
|
|
7
|
+
* - 用户侧 `/v1/balance/me` 以 `credits` 作为主字段,并附带 USD 展示信息
|
|
9
8
|
* - `redeem_code` 是一次性兑换码,用于直接给用户充值
|
|
10
9
|
* - 充值单 `topup` 与 `redeem_code` 是两条不同语义的充值链路
|
|
11
10
|
*/
|
|
@@ -15,16 +14,9 @@
|
|
|
15
14
|
export interface BalanceServiceOptions {
|
|
16
15
|
/**
|
|
17
16
|
* 首次自动开户时要发放的初始余额,单位为 credits。
|
|
18
|
-
*
|
|
19
|
-
* 默认值为 `0`。允许最多 6 位小数,内部会转成 microcredits。
|
|
20
|
-
*/
|
|
21
|
-
init?: number;
|
|
22
|
-
/**
|
|
23
|
-
* 首次自动开户时要发放的初始余额,单位为 microcredits。
|
|
24
|
-
*
|
|
25
|
-
* 设置后优先级高于 `init`。
|
|
17
|
+
* 默认值为 `0`。
|
|
26
18
|
*/
|
|
27
|
-
|
|
19
|
+
init_credits?: number;
|
|
28
20
|
}
|
|
29
21
|
/**
|
|
30
22
|
* 余额附加信息。
|
|
@@ -72,9 +64,9 @@ export interface BalanceAccount extends Record<string, unknown> {
|
|
|
72
64
|
*/
|
|
73
65
|
user_id: string;
|
|
74
66
|
/**
|
|
75
|
-
* 当前可用余额,单位为
|
|
67
|
+
* 当前可用余额,单位为 credits。
|
|
76
68
|
*/
|
|
77
|
-
|
|
69
|
+
credits: number;
|
|
78
70
|
/**
|
|
79
71
|
* 账户创建时间。
|
|
80
72
|
*/
|
|
@@ -85,17 +77,17 @@ export interface BalanceAccount extends Record<string, unknown> {
|
|
|
85
77
|
updated_at: string;
|
|
86
78
|
}
|
|
87
79
|
/**
|
|
88
|
-
* credits 换算说明。
|
|
80
|
+
* credits 与 USD 换算说明。
|
|
89
81
|
*/
|
|
90
82
|
export interface BalanceCreditsConversion extends Record<string, unknown> {
|
|
91
83
|
/**
|
|
92
|
-
*
|
|
84
|
+
* 1 USD 对应多少 credits。
|
|
93
85
|
*/
|
|
94
|
-
|
|
86
|
+
credits_per_usd: number;
|
|
95
87
|
/**
|
|
96
|
-
*
|
|
88
|
+
* USD 展示最多保留的小数位数。
|
|
97
89
|
*/
|
|
98
|
-
|
|
90
|
+
usd_decimals: number;
|
|
99
91
|
}
|
|
100
92
|
/**
|
|
101
93
|
* 用户侧余额展示对象。
|
|
@@ -108,21 +100,21 @@ export interface BalanceUserBalance extends Record<string, unknown> {
|
|
|
108
100
|
/**
|
|
109
101
|
* 当前余额,单位为 credits。
|
|
110
102
|
*/
|
|
111
|
-
|
|
103
|
+
credits: number;
|
|
112
104
|
/**
|
|
113
105
|
* 主余额字段的单位。
|
|
114
106
|
*/
|
|
115
107
|
unit: "credits";
|
|
116
108
|
/**
|
|
117
|
-
*
|
|
109
|
+
* 当前余额换算后的 USD 数字。
|
|
118
110
|
*/
|
|
119
|
-
|
|
111
|
+
usd: number;
|
|
120
112
|
/**
|
|
121
|
-
* credits 与
|
|
113
|
+
* credits 与 USD 的换算说明。
|
|
122
114
|
*/
|
|
123
115
|
conversion: BalanceCreditsConversion;
|
|
124
116
|
/**
|
|
125
|
-
* 适合直接展示给用户的
|
|
117
|
+
* 适合直接展示给用户的 USD 文本。
|
|
126
118
|
*/
|
|
127
119
|
display: string;
|
|
128
120
|
/**
|
|
@@ -151,17 +143,17 @@ export interface BalanceLedgerEntry extends Record<string, unknown> {
|
|
|
151
143
|
*/
|
|
152
144
|
kind: BalanceLedgerKind;
|
|
153
145
|
/**
|
|
154
|
-
*
|
|
146
|
+
* 本次变动的 credits。
|
|
155
147
|
*
|
|
156
148
|
* 约定:
|
|
157
149
|
* - 加款为正数
|
|
158
150
|
* - 扣款为负数
|
|
159
151
|
*/
|
|
160
|
-
|
|
152
|
+
credits_delta: number;
|
|
161
153
|
/**
|
|
162
|
-
* 本次变动后的余额快照,单位为
|
|
154
|
+
* 本次变动后的余额快照,单位为 credits。
|
|
163
155
|
*/
|
|
164
|
-
|
|
156
|
+
credits_after: number;
|
|
165
157
|
/**
|
|
166
158
|
* 流水说明。
|
|
167
159
|
*/
|
|
@@ -192,13 +184,13 @@ export interface BalanceTopup extends Record<string, unknown> {
|
|
|
192
184
|
*/
|
|
193
185
|
user_id: string;
|
|
194
186
|
/**
|
|
195
|
-
*
|
|
187
|
+
* 充值额度,单位为 credits。
|
|
196
188
|
*/
|
|
197
|
-
|
|
189
|
+
credits: number;
|
|
198
190
|
/**
|
|
199
191
|
* 充值金额,单位为 USD cents。
|
|
200
192
|
*/
|
|
201
|
-
|
|
193
|
+
usd_cents: number;
|
|
202
194
|
/**
|
|
203
195
|
* 当前状态。
|
|
204
196
|
*/
|
|
@@ -233,9 +225,9 @@ export interface BalanceRedeemCode extends Record<string, unknown> {
|
|
|
233
225
|
*/
|
|
234
226
|
redeem_code_id: string;
|
|
235
227
|
/**
|
|
236
|
-
*
|
|
228
|
+
* 充值额度,单位为 credits。
|
|
237
229
|
*/
|
|
238
|
-
|
|
230
|
+
credits: number;
|
|
239
231
|
/**
|
|
240
232
|
* 当前状态。
|
|
241
233
|
*/
|
|
@@ -283,10 +275,8 @@ export interface BalanceRedeemCode extends Record<string, unknown> {
|
|
|
283
275
|
export interface BalanceCreateRedeemCodeInput extends BalanceExtra {
|
|
284
276
|
/**
|
|
285
277
|
* 兑换成功后要充值到用户账户的额度,单位为 credits。
|
|
286
|
-
*
|
|
287
|
-
* 服务内部会转换成 microcredits 存储。
|
|
288
278
|
*/
|
|
289
|
-
|
|
279
|
+
credits: number;
|
|
290
280
|
/**
|
|
291
281
|
* 可选自定义兑换码明文。
|
|
292
282
|
*
|
|
@@ -327,9 +317,9 @@ export interface BalanceChargeInput extends BalanceExtra {
|
|
|
327
317
|
*/
|
|
328
318
|
user_id: string;
|
|
329
319
|
/**
|
|
330
|
-
*
|
|
320
|
+
* 扣费额度,单位为 credits。
|
|
331
321
|
*/
|
|
332
|
-
|
|
322
|
+
credits: number;
|
|
333
323
|
/**
|
|
334
324
|
* 结构化扣费审计信息。
|
|
335
325
|
*
|
|
@@ -351,13 +341,9 @@ export interface BalanceCharge extends Record<string, unknown> {
|
|
|
351
341
|
*/
|
|
352
342
|
user_id: string;
|
|
353
343
|
/**
|
|
354
|
-
*
|
|
355
|
-
*/
|
|
356
|
-
amount: number;
|
|
357
|
-
/**
|
|
358
|
-
* 扣费金额,单位为 microcredits。
|
|
344
|
+
* 扣费额度,单位为 credits。
|
|
359
345
|
*/
|
|
360
|
-
|
|
346
|
+
credits: number;
|
|
361
347
|
/**
|
|
362
348
|
* 扣费状态。
|
|
363
349
|
*/
|