@downcity/services 0.1.63 → 0.1.65

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.
Files changed (49) hide show
  1. package/bin/balance/amount.d.ts +3 -2
  2. package/bin/balance/amount.d.ts.map +1 -1
  3. package/bin/balance/amount.js +3 -2
  4. package/bin/balance/amount.js.map +1 -1
  5. package/bin/balance/index.d.ts +1 -1
  6. package/bin/balance/index.d.ts.map +1 -1
  7. package/bin/balance/index.js.map +1 -1
  8. package/bin/balance/routes.d.ts.map +1 -1
  9. package/bin/balance/routes.js +2 -3
  10. package/bin/balance/routes.js.map +1 -1
  11. package/bin/balance/schema.d.ts +10 -10
  12. package/bin/balance/schema.js +5 -5
  13. package/bin/balance/schema.js.map +1 -1
  14. package/bin/balance/service.d.ts +10 -10
  15. package/bin/balance/service.d.ts.map +1 -1
  16. package/bin/balance/service.js +31 -37
  17. package/bin/balance/service.js.map +1 -1
  18. package/bin/balance/types.d.ts +56 -34
  19. package/bin/balance/types.d.ts.map +1 -1
  20. package/bin/balance/types.js +3 -3
  21. package/bin/balance/utils.d.ts +5 -1
  22. package/bin/balance/utils.d.ts.map +1 -1
  23. package/bin/balance/utils.js +32 -17
  24. package/bin/balance/utils.js.map +1 -1
  25. package/bin/billing/index.d.ts +1 -1
  26. package/bin/billing/index.d.ts.map +1 -1
  27. package/bin/billing/service.d.ts +9 -1
  28. package/bin/billing/service.d.ts.map +1 -1
  29. package/bin/billing/service.js +39 -4
  30. package/bin/billing/service.js.map +1 -1
  31. package/bin/billing/types.d.ts +21 -0
  32. package/bin/billing/types.d.ts.map +1 -1
  33. package/bin/index.d.ts +2 -2
  34. package/bin/index.d.ts.map +1 -1
  35. package/bin/index.js.map +1 -1
  36. package/bin/payment/types.d.ts +1 -3
  37. package/bin/payment/types.d.ts.map +1 -1
  38. package/bin/payment-creem/creem.d.ts.map +1 -1
  39. package/bin/payment-creem/creem.js +1 -2
  40. package/bin/payment-creem/creem.js.map +1 -1
  41. package/bin/payment-dodo/dodo.d.ts.map +1 -1
  42. package/bin/payment-dodo/dodo.js +1 -2
  43. package/bin/payment-dodo/dodo.js.map +1 -1
  44. package/bin/payment-stripe/stripe.js +1 -1
  45. package/bin/payment-stripe/stripe.js.map +1 -1
  46. package/bin/payment-waffo/waffo.d.ts.map +1 -1
  47. package/bin/payment-waffo/waffo.js +1 -2
  48. package/bin/payment-waffo/waffo.js.map +1 -1
  49. package/package.json +2 -2
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * 关键说明(中文)
5
5
  * - 金额输入与 `amount` 展示字段使用 credits
6
- * - 余额 API 字段 `balance` / `balance_after` 使用 microcredits
7
- * - 存储与扣款使用 microcredits
6
+ * - 内部账务与管理端余额字段 `balance` / `balance_after` 使用 microcredits
7
+ * - 用户侧 `/v1/balance/me` 使用 credits 作为主字段,并补充 microcredits
8
+ * - 存储与扣款统一使用 microcredits
8
9
  * - 所有转换集中在这里,避免各模块重复处理精度
9
10
  */
10
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"amount.d.ts","sourceRoot":"","sources":["../../src/balance/amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpF;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,EAAE,KAAK,SAAW,GAAG,MAAM,CAK3B;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,EAAE,KAAK,SAAW,GAAG,MAAM,CAK3B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpD"}
1
+ {"version":3,"file":"amount.d.ts","sourceRoot":"","sources":["../../src/balance/amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpF;AAED;;GAEG;AACH,wBAAgB,yCAAyC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAW/F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM3E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,EAAE,KAAK,SAAW,GAAG,MAAM,CAK3B;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,EAAE,KAAK,SAAW,GAAG,MAAM,CAK3B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpD"}
@@ -3,8 +3,9 @@
3
3
  *
4
4
  * 关键说明(中文)
5
5
  * - 金额输入与 `amount` 展示字段使用 credits
6
- * - 余额 API 字段 `balance` / `balance_after` 使用 microcredits
7
- * - 存储与扣款使用 microcredits
6
+ * - 内部账务与管理端余额字段 `balance` / `balance_after` 使用 microcredits
7
+ * - 用户侧 `/v1/balance/me` 使用 credits 作为主字段,并补充 microcredits
8
+ * - 存储与扣款统一使用 microcredits
8
9
  * - 所有转换集中在这里,避免各模块重复处理精度
9
10
  */
10
11
  import { CREDIT_DECIMAL_PLACES, MICROCREDITS_PER_CREDIT, } from "../types/Amount.js";
@@ -1 +1 @@
1
- {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/balance/amount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/balance/amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAc,EAAE,KAAa;IAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,uBAAuB,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,yCAAyC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yCAAyC,CAAC,KAAc,EAAE,KAAa;IACrF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,wCAAwC,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,uBAAuB,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,yCAAyC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,KAAa;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,0CAA0C,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,KAAc,EAAE,KAAa;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,8CAA8C,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAGtC,EAAE,KAAK,GAAG,QAAQ;IACjB,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,qBAAqB,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,eAAe,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,8BAA8B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,KAGjD,EAAE,KAAK,GAAG,QAAQ;IACjB,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,gCAAgC,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,KAAK,eAAe,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,yCAAyC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,CAAC,YAAY,GAAG,uBAAuB,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,uBAAuB,CAAC,GAAG,GAAG,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export { BalanceService, balanceService } from "./service.js";
5
5
  export { balanceAccounts, balanceLedger, balanceRedeemCodes, balanceTopups, } from "./schema.js";
6
- export type { BalanceAccount, BalanceCreateRedeemCodeInput, BalanceExtra, BalanceHistoryQuery, BalanceLedgerEntry, BalanceLedgerKind, BalanceServiceOptions, BalanceRedeemCode, BalanceRedeemCodeIssueResult, BalanceRedeemCodeQuery, BalanceRedeemCodeRedeemResult, BalanceRedeemCodeStatus, BalanceTopup, BalanceTopupQuery, BalanceTopupStatus, } from "./types.js";
6
+ export type { BalanceAccount, BalanceCreditsConversion, BalanceCreateRedeemCodeInput, BalanceExtra, BalanceHistoryQuery, BalanceLedgerEntry, BalanceLedgerKind, BalanceServiceOptions, BalanceRedeemCode, BalanceRedeemCodeIssueResult, BalanceRedeemCodeQuery, BalanceRedeemCodeRedeemResult, BalanceRedeemCodeStatus, BalanceTopup, BalanceTopupQuery, BalanceTopupStatus, BalanceUserBalance, } from "./types.js";
7
7
  export { CREDIT_DECIMAL_PLACES, MICROCREDITS_PER_CREDIT, } from "../types/Amount.js";
8
8
  export type { Credits, Microcredits, } from "../types/Amount.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/balance/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,4BAA4B,EAC5B,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,OAAO,EACP,YAAY,GACb,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/balance/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,cAAc,EACd,wBAAwB,EACxB,4BAA4B,EAC5B,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,sBAAsB,EACtB,6BAA6B,EAC7B,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,OAAO,EACP,YAAY,GACb,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/balance/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AAoBrB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/balance/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AAsBrB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/balance/routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAuB,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA4EnD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAqK/F"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/balance/routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAuB,MAAM,gBAAgB,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAmEnD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAoK/F"}
@@ -5,7 +5,7 @@
5
5
  * - 这里只负责把公开 action 映射到 HTTP 路由
6
6
  * - 余额读写、充值单和兑换码状态变更仍然收敛在 BalanceService 内部
7
7
  */
8
- import { normalizeUserId, readRequired } from "./utils.js";
8
+ import { normalizeUserId, readRequired, toBalanceUserView } from "./utils.js";
9
9
  /**
10
10
  * 注册 Balance 服务的 HTTP 路由。
11
11
  */
@@ -14,7 +14,7 @@ export function registerBalanceRoutes(service, ctx) {
14
14
  method: "GET",
15
15
  path: "/me",
16
16
  auth: ["user"],
17
- handler: async (c) => c.jsonResponse(await service.read(readUserId(c))),
17
+ handler: async (c) => c.jsonResponse(toBalanceUserView(await service.read(readUserId(c)))),
18
18
  });
19
19
  ctx.route({
20
20
  method: "GET",
@@ -140,7 +140,6 @@ export function registerBalanceRoutes(service, ctx) {
140
140
  const body = await c.json();
141
141
  return c.jsonResponse(await service.createRedeemCode({
142
142
  amount: Number(body.amount),
143
- amount_microcredits: body.amount_microcredits,
144
143
  code: body.code,
145
144
  note: body.note,
146
145
  ref: body.ref,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/balance/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/balance/routes.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,8 @@ export declare const balanceAccounts: import("drizzle-orm/sqlite-core").SQLiteTa
35
35
  }, {}, {
36
36
  length: number | undefined;
37
37
  }>;
38
- balance_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
39
- name: "balance_microcredits";
38
+ balance: import("drizzle-orm/sqlite-core").SQLiteColumn<{
39
+ name: "balance";
40
40
  tableName: "service_balance_accounts";
41
41
  dataType: "number";
42
42
  columnType: "SQLiteInteger";
@@ -157,8 +157,8 @@ export declare const balanceLedger: import("drizzle-orm/sqlite-core").SQLiteTabl
157
157
  }, {}, {
158
158
  length: number | undefined;
159
159
  }>;
160
- amount_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
161
- name: "amount_microcredits";
160
+ amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
161
+ name: "amount";
162
162
  tableName: "service_balance_ledger";
163
163
  dataType: "number";
164
164
  columnType: "SQLiteInteger";
@@ -174,8 +174,8 @@ export declare const balanceLedger: import("drizzle-orm/sqlite-core").SQLiteTabl
174
174
  identity: undefined;
175
175
  generated: undefined;
176
176
  }, {}, {}>;
177
- balance_after_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
178
- name: "balance_after_microcredits";
177
+ balance_after: import("drizzle-orm/sqlite-core").SQLiteColumn<{
178
+ name: "balance_after";
179
179
  tableName: "service_balance_ledger";
180
180
  dataType: "number";
181
181
  columnType: "SQLiteInteger";
@@ -315,8 +315,8 @@ export declare const balanceTopups: import("drizzle-orm/sqlite-core").SQLiteTabl
315
315
  }, {}, {
316
316
  length: number | undefined;
317
317
  }>;
318
- amount_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
319
- name: "amount_microcredits";
318
+ amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
319
+ name: "amount";
320
320
  tableName: "service_balance_topups";
321
321
  dataType: "number";
322
322
  columnType: "SQLiteInteger";
@@ -513,8 +513,8 @@ export declare const balanceRedeemCodes: import("drizzle-orm/sqlite-core").SQLit
513
513
  }, {}, {
514
514
  length: number | undefined;
515
515
  }>;
516
- amount_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
517
- name: "amount_microcredits";
516
+ amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
517
+ name: "amount";
518
518
  tableName: "service_balance_redeem_codes";
519
519
  dataType: "number";
520
520
  columnType: "SQLiteInteger";
@@ -21,7 +21,7 @@ export const balanceAccounts = sqliteTable(ACCOUNT_TABLE, {
21
21
  /**
22
22
  * 当前余额,单位为 microcredits。
23
23
  */
24
- balance_microcredits: integer("balance_microcredits").notNull(),
24
+ balance: integer("balance").notNull(),
25
25
  /**
26
26
  * 创建时间。
27
27
  */
@@ -50,11 +50,11 @@ export const balanceLedger = sqliteTable(LEDGER_TABLE, {
50
50
  /**
51
51
  * 本次金额变动,单位为 microcredits。
52
52
  */
53
- amount_microcredits: integer("amount_microcredits").notNull(),
53
+ amount: integer("amount").notNull(),
54
54
  /**
55
55
  * 变动后的余额,单位为 microcredits。
56
56
  */
57
- balance_after_microcredits: integer("balance_after_microcredits").notNull(),
57
+ balance_after: integer("balance_after").notNull(),
58
58
  /**
59
59
  * 可读说明。
60
60
  */
@@ -87,7 +87,7 @@ export const balanceTopups = sqliteTable(TOPUP_TABLE, {
87
87
  /**
88
88
  * 充值金额,单位为 microcredits。
89
89
  */
90
- amount_microcredits: integer("amount_microcredits").notNull(),
90
+ amount: integer("amount").notNull(),
91
91
  /**
92
92
  * 充值单状态。
93
93
  */
@@ -132,7 +132,7 @@ export const balanceRedeemCodes = sqliteTable(REDEEM_CODE_TABLE, {
132
132
  /**
133
133
  * 充值金额,单位为 microcredits。
134
134
  */
135
- amount_microcredits: integer("amount_microcredits").notNull(),
135
+ amount: integer("amount").notNull(),
136
136
  /**
137
137
  * redeem_code 状态。
138
138
  */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/balance/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/balance/schema.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,8 @@ export declare class BalanceService extends InstallableService {
41
41
  }, {}, {
42
42
  length: number | undefined;
43
43
  }>;
44
- balance_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
45
- name: "balance_microcredits";
44
+ balance: import("drizzle-orm/sqlite-core").SQLiteColumn<{
45
+ name: "balance";
46
46
  tableName: "service_balance_accounts";
47
47
  dataType: "number";
48
48
  columnType: "SQLiteInteger";
@@ -160,8 +160,8 @@ export declare class BalanceService extends InstallableService {
160
160
  }, {}, {
161
161
  length: number | undefined;
162
162
  }>;
163
- amount_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
164
- name: "amount_microcredits";
163
+ amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
164
+ name: "amount";
165
165
  tableName: "service_balance_ledger";
166
166
  dataType: "number";
167
167
  columnType: "SQLiteInteger";
@@ -177,8 +177,8 @@ export declare class BalanceService extends InstallableService {
177
177
  identity: undefined;
178
178
  generated: undefined;
179
179
  }, {}, {}>;
180
- balance_after_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
181
- name: "balance_after_microcredits";
180
+ balance_after: import("drizzle-orm/sqlite-core").SQLiteColumn<{
181
+ name: "balance_after";
182
182
  tableName: "service_balance_ledger";
183
183
  dataType: "number";
184
184
  columnType: "SQLiteInteger";
@@ -315,8 +315,8 @@ export declare class BalanceService extends InstallableService {
315
315
  }, {}, {
316
316
  length: number | undefined;
317
317
  }>;
318
- amount_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
319
- name: "amount_microcredits";
318
+ amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
319
+ name: "amount";
320
320
  tableName: "service_balance_topups";
321
321
  dataType: "number";
322
322
  columnType: "SQLiteInteger";
@@ -510,8 +510,8 @@ export declare class BalanceService extends InstallableService {
510
510
  }, {}, {
511
511
  length: number | undefined;
512
512
  }>;
513
- amount_microcredits: import("drizzle-orm/sqlite-core").SQLiteColumn<{
514
- name: "amount_microcredits";
513
+ amount: import("drizzle-orm/sqlite-core").SQLiteColumn<{
514
+ name: "amount";
515
515
  tableName: "service_balance_redeem_codes";
516
516
  dataType: "number";
517
517
  columnType: "SQLiteInteger";
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/balance/service.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { rawAll, rawFirst, rawRun } from "./raw.js";
11
11
  import { registerBalanceRoutes } from "./routes.js";
12
12
  import { ACCOUNT_TABLE, LEDGER_TABLE, REDEEM_CODE_TABLE, TOPUP_TABLE, balanceAccounts, balanceLedger, balanceRedeemCodes, balanceTopups, } from "./schema.js";
13
13
  import { generateRedeemCode, hashRedeemCode, maskRedeemCode, mergeMetaJSON, normalizeLimit, normalizeRedeemCode, normalizeRedeemCodeStatus, normalizeText, normalizeUserId, parseAccountRow, parseLedgerRow, parseMetaJSON, parseRedeemCodeRow, parseTopupRow, randomId, readRequired, stringifyMeta, } from "./utils.js";
14
- import { microcreditsToCredits, microcreditsToUsdCents, readAmountMicrocredits, readNonNegativeAmountMicrocredits, } from "./amount.js";
14
+ import { microcreditsToUsdCents, readAmountMicrocredits, readNonNegativeAmountMicrocredits, } from "./amount.js";
15
15
  /**
16
16
  * Balance 服务实例。
17
17
  *
@@ -36,8 +36,8 @@ export class BalanceService extends InstallableService {
36
36
  }, "init");
37
37
  this.instruction = [
38
38
  "提供用户级全局余额、余额流水、充值单与 redeem_code 能力。",
39
- "`balance` API 字段即 microcredits 整数;`balance_microcredits` 是同值的显式别名。",
40
- `当前余额以 microcredits 整数存储,首次自动开户发放 ${this.initMicrocredits} microcredits。`,
39
+ "内部账务与管理端的 `balance` / `amount` / `balance_after` 字段均使用 microcredits 整数;用户侧 `/me` 返回 credits 主字段并附带 microcredits。",
40
+ `首次自动开户发放 ${this.initMicrocredits} microcredits。`,
41
41
  "推荐在业务 hook 中调用 require/add/sub,把具体计费策略放在业务侧,而不是写死在服务内部。",
42
42
  "管理端可查询所有账户、流水、充值单与 redeem_code;用户侧可查询自己的余额、历史记录、充值单,并直接兑换 redeem_code。",
43
43
  ].join("\n");
@@ -70,8 +70,8 @@ export class BalanceService extends InstallableService {
70
70
  const normalizedUserId = normalizeUserId(user_id);
71
71
  const normalizedAmount = readAmountMicrocredits({ amount_microcredits });
72
72
  const account = await this.read(normalizedUserId);
73
- if (account.balance_microcredits < normalizedAmount) {
74
- throw httpError(402, `insufficient balance: need ${normalizedAmount} microcredits, current ${account.balance_microcredits} microcredits`);
73
+ if (account.balance < normalizedAmount) {
74
+ throw httpError(402, `insufficient balance: need ${normalizedAmount} microcredits, current ${account.balance} microcredits`);
75
75
  }
76
76
  return account;
77
77
  }
@@ -130,8 +130,7 @@ export class BalanceService extends InstallableService {
130
130
  const topup = {
131
131
  topup_id: `topup_${randomId()}`,
132
132
  user_id: normalizedUserId,
133
- amount: microcreditsToCredits(normalizedAmount),
134
- amount_microcredits: normalizedAmount,
133
+ amount: normalizedAmount,
135
134
  amount_usd_cents: microcreditsToUsdCents(normalizedAmount),
136
135
  status: "pending",
137
136
  note: normalizeText(extra.note),
@@ -142,12 +141,12 @@ export class BalanceService extends InstallableService {
142
141
  };
143
142
  await this.ensureAccount(normalizedUserId);
144
143
  await rawRun(this.resolveRaw(), [
145
- `INSERT INTO ${TOPUP_TABLE} (topup_id, user_id, amount_microcredits, status, note, ref, metadata_json, created_at, updated_at)`,
144
+ `INSERT INTO ${TOPUP_TABLE} (topup_id, user_id, amount, status, note, ref, metadata_json, created_at, updated_at)`,
146
145
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
147
146
  ].join(" "), [
148
147
  topup.topup_id,
149
148
  topup.user_id,
150
- topup.amount_microcredits,
149
+ topup.amount,
151
150
  topup.status,
152
151
  topup.note,
153
152
  topup.ref,
@@ -182,7 +181,7 @@ export class BalanceService extends InstallableService {
182
181
  if (changed === 0) {
183
182
  throw httpError(409, "topup is no longer pending");
184
183
  }
185
- await this.applyDelta(current.user_id, current.amount_microcredits, "topup", {
184
+ await this.applyDelta(current.user_id, current.amount, "topup", {
186
185
  note: normalizeText(extra.note) || current.note || "topup",
187
186
  ref: normalizeText(extra.ref) || topup_id,
188
187
  meta: {
@@ -232,8 +231,7 @@ export class BalanceService extends InstallableService {
232
231
  }
233
232
  const redeemCode = {
234
233
  redeem_code_id: `rc_${randomId()}`,
235
- amount: microcreditsToCredits(amount),
236
- amount_microcredits: amount,
234
+ amount,
237
235
  status: "active",
238
236
  code_mask: maskRedeemCode(code),
239
237
  note: normalizeText(input.note),
@@ -245,13 +243,13 @@ export class BalanceService extends InstallableService {
245
243
  updated_at: now,
246
244
  };
247
245
  await rawRun(this.resolveRaw(), [
248
- `INSERT INTO ${REDEEM_CODE_TABLE} (redeem_code_id, code_hash, code_mask, amount_microcredits, status, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at)`,
246
+ `INSERT INTO ${REDEEM_CODE_TABLE} (redeem_code_id, code_hash, code_mask, amount, status, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at)`,
249
247
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
250
248
  ].join(" "), [
251
249
  redeemCode.redeem_code_id,
252
250
  codeHash,
253
251
  redeemCode.code_mask,
254
- redeemCode.amount_microcredits,
252
+ redeemCode.amount,
255
253
  redeemCode.status,
256
254
  redeemCode.note,
257
255
  redeemCode.ref,
@@ -300,7 +298,7 @@ export class BalanceService extends InstallableService {
300
298
  const latest = await this.readRedeemCodeRequired(current.redeem_code_id);
301
299
  throw httpError(409, `redeem_code is already ${latest.status}`);
302
300
  }
303
- const account = await this.applyDelta(normalizedUserId, current.amount_microcredits, "redeem", {
301
+ const account = await this.applyDelta(normalizedUserId, current.amount, "redeem", {
304
302
  note: normalizeText(extra.note) || current.note || "redeem_code",
305
303
  ref: normalizeText(extra.ref) || current.redeem_code_id,
306
304
  meta: {
@@ -346,7 +344,7 @@ export class BalanceService extends InstallableService {
346
344
  */
347
345
  async listUsers(limit) {
348
346
  const rows = await rawAll(this.resolveRaw(), [
349
- `SELECT user_id, balance_microcredits, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
347
+ `SELECT user_id, balance, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
350
348
  "ORDER BY updated_at DESC",
351
349
  "LIMIT ?",
352
350
  ].join(" "), [normalizeLimit(limit)]);
@@ -364,7 +362,7 @@ export class BalanceService extends InstallableService {
364
362
  })()
365
363
  : "";
366
364
  const rows = await rawAll(this.resolveRaw(), [
367
- `SELECT entry_id, user_id, kind, amount_microcredits, balance_after_microcredits, note, ref, metadata_json, created_at FROM ${LEDGER_TABLE}`,
365
+ `SELECT entry_id, user_id, kind, amount, balance_after, note, ref, metadata_json, created_at FROM ${LEDGER_TABLE}`,
368
366
  where,
369
367
  "ORDER BY created_at DESC, rowid DESC",
370
368
  "LIMIT ?",
@@ -383,7 +381,7 @@ export class BalanceService extends InstallableService {
383
381
  })()
384
382
  : "";
385
383
  const rows = await rawAll(this.resolveRaw(), [
386
- `SELECT topup_id, user_id, amount_microcredits, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
384
+ `SELECT topup_id, user_id, amount, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
387
385
  where,
388
386
  "ORDER BY created_at DESC",
389
387
  "LIMIT ?",
@@ -407,7 +405,7 @@ export class BalanceService extends InstallableService {
407
405
  }
408
406
  const where = clauses.length > 0 ? `WHERE ${clauses.join(" AND ")}` : "";
409
407
  const rows = await rawAll(this.resolveRaw(), [
410
- `SELECT redeem_code_id, amount_microcredits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
408
+ `SELECT redeem_code_id, amount, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
411
409
  where,
412
410
  "ORDER BY created_at DESC",
413
411
  "LIMIT ?",
@@ -429,7 +427,7 @@ export class BalanceService extends InstallableService {
429
427
  if (delta > 0) {
430
428
  await rawRun(this.resolveRaw(), [
431
429
  `UPDATE ${ACCOUNT_TABLE}`,
432
- "SET balance_microcredits = balance_microcredits + ?, updated_at = ?",
430
+ "SET balance = balance + ?, updated_at = ?",
433
431
  "WHERE user_id = ?",
434
432
  ].join(" "), [delta, now, user_id]);
435
433
  }
@@ -437,12 +435,12 @@ export class BalanceService extends InstallableService {
437
435
  const spend = Math.abs(delta);
438
436
  const changed = await rawRun(this.resolveRaw(), [
439
437
  `UPDATE ${ACCOUNT_TABLE}`,
440
- "SET balance_microcredits = balance_microcredits - ?, updated_at = ?",
441
- "WHERE user_id = ? AND balance_microcredits >= ?",
438
+ "SET balance = balance - ?, updated_at = ?",
439
+ "WHERE user_id = ? AND balance >= ?",
442
440
  ].join(" "), [spend, now, user_id, spend]);
443
441
  if (changed === 0) {
444
442
  const current = await this.readAccountRequired(user_id);
445
- throw httpError(402, `insufficient balance: need ${spend} microcredits, current ${current.balance_microcredits} microcredits`);
443
+ throw httpError(402, `insufficient balance: need ${spend} microcredits, current ${current.balance} microcredits`);
446
444
  }
447
445
  }
448
446
  const account = await this.readAccountRequired(user_id);
@@ -450,10 +448,8 @@ export class BalanceService extends InstallableService {
450
448
  entry_id: `bal_${randomId()}`,
451
449
  user_id,
452
450
  kind,
453
- amount: microcreditsToCredits(delta),
454
- amount_microcredits: delta,
451
+ amount: delta,
455
452
  balance_after: account.balance,
456
- balance_after_microcredits: account.balance_microcredits,
457
453
  note: normalizeText(extra.note),
458
454
  ref: normalizeText(extra.ref),
459
455
  metadata_json: stringifyMeta(extra.meta),
@@ -467,7 +463,7 @@ export class BalanceService extends InstallableService {
467
463
  async ensureAccount(user_id) {
468
464
  const now = new Date().toISOString();
469
465
  const inserted = await rawRun(this.resolveRaw(), [
470
- `INSERT OR IGNORE INTO ${ACCOUNT_TABLE} (user_id, balance_microcredits, created_at, updated_at)`,
466
+ `INSERT OR IGNORE INTO ${ACCOUNT_TABLE} (user_id, balance, created_at, updated_at)`,
471
467
  "VALUES (?, ?, ?, ?)",
472
468
  ].join(" "), [user_id, this.initMicrocredits, now, now]);
473
469
  if (inserted > 0 && this.initMicrocredits > 0) {
@@ -475,10 +471,8 @@ export class BalanceService extends InstallableService {
475
471
  entry_id: `bal_${randomId()}`,
476
472
  user_id,
477
473
  kind: "init",
478
- amount: microcreditsToCredits(this.initMicrocredits),
479
- amount_microcredits: this.initMicrocredits,
474
+ amount: this.initMicrocredits,
480
475
  balance_after: this.initMicrocredits,
481
- balance_after_microcredits: this.initMicrocredits,
482
476
  note: "initial balance",
483
477
  ref: "",
484
478
  metadata_json: "{}",
@@ -491,7 +485,7 @@ export class BalanceService extends InstallableService {
491
485
  */
492
486
  async readAccountRequired(user_id) {
493
487
  const row = await rawFirst(this.resolveRaw(), [
494
- `SELECT user_id, balance_microcredits, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
488
+ `SELECT user_id, balance, created_at, updated_at FROM ${ACCOUNT_TABLE}`,
495
489
  "WHERE user_id = ?",
496
490
  ].join(" "), [user_id]);
497
491
  if (!row) {
@@ -504,7 +498,7 @@ export class BalanceService extends InstallableService {
504
498
  */
505
499
  async readTopupRequired(topup_id) {
506
500
  const row = await rawFirst(this.resolveRaw(), [
507
- `SELECT topup_id, user_id, amount_microcredits, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
501
+ `SELECT topup_id, user_id, amount, status, note, ref, metadata_json, created_at, updated_at FROM ${TOPUP_TABLE}`,
508
502
  "WHERE topup_id = ?",
509
503
  ].join(" "), [readRequired(topup_id, "topup_id")]);
510
504
  if (!row) {
@@ -517,7 +511,7 @@ export class BalanceService extends InstallableService {
517
511
  */
518
512
  async readRedeemCodeRequired(redeem_code_id) {
519
513
  const row = await rawFirst(this.resolveRaw(), [
520
- `SELECT redeem_code_id, amount_microcredits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
514
+ `SELECT redeem_code_id, amount, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
521
515
  "WHERE redeem_code_id = ?",
522
516
  ].join(" "), [readRequired(redeem_code_id, "redeem_code_id")]);
523
517
  if (!row) {
@@ -530,7 +524,7 @@ export class BalanceService extends InstallableService {
530
524
  */
531
525
  async readRedeemCodeByHash(codeHash) {
532
526
  const row = await rawFirst(this.resolveRaw(), [
533
- `SELECT redeem_code_id, code_hash, amount_microcredits, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
527
+ `SELECT redeem_code_id, code_hash, amount, status, code_mask, note, ref, metadata_json, redeemed_by_user_id, redeemed_at, created_at, updated_at FROM ${REDEEM_CODE_TABLE}`,
534
528
  "WHERE code_hash = ?",
535
529
  ].join(" "), [readRequired(codeHash, "code_hash")]);
536
530
  return row
@@ -545,14 +539,14 @@ export class BalanceService extends InstallableService {
545
539
  */
546
540
  async insertLedger(entry) {
547
541
  await rawRun(this.resolveRaw(), [
548
- `INSERT INTO ${LEDGER_TABLE} (entry_id, user_id, kind, amount_microcredits, balance_after_microcredits, note, ref, metadata_json, created_at)`,
542
+ `INSERT INTO ${LEDGER_TABLE} (entry_id, user_id, kind, amount, balance_after, note, ref, metadata_json, created_at)`,
549
543
  "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
550
544
  ].join(" "), [
551
545
  entry.entry_id,
552
546
  entry.user_id,
553
547
  entry.kind,
554
- entry.amount_microcredits,
555
- entry.balance_after_microcredits,
548
+ entry.amount,
549
+ entry.balance_after,
556
550
  entry.note,
557
551
  entry.ref,
558
552
  entry.metadata_json,