erio
c3812ce1e3
fix(notify): address review findings - accountCost formula, dedup, refactor
...
- Fix accountCost calculation in finalizePostUsageBilling to match
postUsageBilling (always multiply by AccountRateMultiplier)
- Use strings.EqualFold for email dedup in collectBalanceNotifyRecipients
- Extract CheckAccountQuotaAfterIncrement into smaller functions:
buildQuotaDims + asyncSendQuotaAlert (< 30 lines each)
- Add "not splittable" comments for HTML template functions
- Extract QuotaNotifyToggle.vue sub-component to reduce
QuotaLimitCard.vue from 404 to 339 lines
2026-04-14 09:23:16 +08:00
..
2026-03-23 03:49:28 +08:00
2026-03-31 13:24:22 +08:00
2026-03-23 10:16:52 +08:00
2026-04-05 17:11:01 +08:00
2026-04-14 09:22:12 +08:00
2026-04-14 09:22:12 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:22:22 +08:00
2026-04-05 17:22:22 +08:00
2026-04-04 14:32:26 +08:00
2026-04-14 09:20:39 +08:00
2026-04-01 02:19:42 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:08:00 +08:00
2026-04-14 09:15:49 +08:00
2026-03-19 22:27:55 +08:00
2026-04-09 21:35:48 +08:00
2026-04-09 18:14:28 +08:00
2026-04-05 17:11:01 +08:00
2026-04-09 18:14:28 +08:00
2026-04-09 21:35:48 +08:00
2026-04-04 14:32:26 +08:00
2026-04-04 14:32:26 +08:00
2026-03-27 14:33:05 +08:00
2026-04-04 14:32:26 +08:00
2026-03-27 20:11:24 +08:00
2026-03-27 20:18:07 +08:00
2026-04-01 02:19:42 +08:00
2026-04-01 12:24:52 +08:00
2026-03-25 19:03:12 +08:00
2026-03-25 17:38:41 +08:00
2026-03-27 14:33:05 +08:00
2026-04-05 17:21:36 +08:00
2026-03-25 19:03:12 +08:00
2026-03-23 03:49:28 +08:00
2026-04-10 17:55:37 +08:00
2026-04-10 17:55:37 +08:00
2026-04-10 17:55:37 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-03-19 22:27:55 +08:00
2026-04-14 09:23:02 +08:00
2026-04-09 02:20:51 +00:00
2026-04-14 09:23:16 +08:00
2026-04-14 09:15:49 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 22:32:49 +08:00
2026-04-14 09:22:12 +08:00
2026-04-04 11:25:01 +08:00
2026-04-14 09:20:39 +08:00
2026-04-14 09:22:12 +08:00
2026-03-23 03:49:28 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:23:02 +08:00
2026-03-27 14:33:05 +08:00
2026-04-08 14:06:06 +08:00
2026-04-08 16:11:19 +08:00
2026-04-08 16:23:02 +08:00
2026-04-04 11:25:01 +08:00
2026-04-04 11:25:01 +08:00
2026-03-26 11:17:25 +08:00
2026-03-24 09:32:34 +08:00
2026-03-27 14:33:05 +08:00
2026-03-24 09:32:34 +08:00
2026-03-27 14:33:05 +08:00
2026-04-04 12:38:50 +08:00
2026-04-04 12:38:50 +08:00
2026-04-08 14:06:06 +08:00
2026-04-14 09:23:02 +08:00
2026-03-22 17:26:44 +08:00
2026-03-24 15:19:01 +08:00
2026-04-05 17:11:01 +08:00
2026-04-14 09:23:16 +08:00
2026-04-14 09:20:39 +08:00
2026-04-14 09:22:25 +08:00
2026-04-01 00:45:56 +08:00
2026-04-08 10:39:15 -07:00
2026-03-23 10:16:52 +08:00
2026-03-24 09:32:01 +08:00
2026-03-24 09:32:01 +08:00
2026-03-23 03:49:28 +08:00
2026-03-24 09:31:32 +08:00
2026-04-09 12:29:28 +08:00
2026-03-30 11:43:07 +08:00
2026-03-27 14:33:05 +08:00
2026-03-26 11:17:25 +08:00
2026-03-27 20:11:24 +08:00
2026-04-04 11:17:49 +08:00
2026-04-04 15:15:33 +08:00
2026-03-30 16:23:38 +08:00
2026-03-30 16:44:15 +08:00
2026-03-23 03:50:03 +08:00
2026-03-31 13:04:55 +08:00
2026-04-04 11:25:01 +08:00
2026-04-09 12:29:49 +08:00
2026-04-11 22:48:45 +08:00
2026-04-11 22:48:45 +08:00
2026-04-09 12:29:49 +08:00
2026-03-29 20:52:29 +08:00
2026-03-24 19:20:15 +08:00
2026-04-04 14:07:19 +08:00
2026-04-02 00:11:17 +08:00
2026-04-02 01:03:22 +08:00
2026-04-11 22:48:45 +08:00
2026-04-11 22:48:45 +08:00
2026-04-13 18:51:49 +08:00
2026-04-14 09:23:02 +08:00
2026-04-01 00:46:38 +08:00
2026-04-08 14:17:49 +08:00
2026-04-14 09:23:02 +08:00
2026-04-09 12:29:28 +08:00
2026-04-09 12:29:28 +08:00
2026-04-07 11:27:57 +03:00
2026-04-04 14:07:19 +08:00
2026-03-30 22:29:26 +08:00
2026-04-05 17:11:01 +08:00
2026-03-30 00:21:51 +08:00
2026-04-05 17:21:36 +08:00
2026-03-23 00:10:22 +08:00
2026-04-02 20:44:28 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:11:01 +08:00
2026-03-23 03:50:03 +08:00
2026-04-07 11:40:41 +03:00
2026-04-14 09:23:02 +08:00
2026-04-09 18:14:28 +08:00
2026-03-20 18:22:00 +08:00
2026-03-23 10:16:52 +08:00
2026-03-21 23:30:13 +08:00
2026-03-21 23:30:13 +08:00
2026-04-04 12:38:50 +08:00
2026-04-09 17:49:02 +08:00
2026-03-21 23:49:50 +08:00
2026-03-21 23:30:13 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:17:06 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:19:33 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-14 09:19:33 +08:00
2026-04-14 09:19:33 +08:00
2026-04-11 13:16:35 +08:00
2026-04-11 13:16:35 +08:00
2026-04-04 11:15:59 +08:00
2026-03-23 03:49:28 +08:00
2026-04-12 13:30:15 +08:00
2026-03-23 10:16:52 +08:00
2026-04-03 01:50:26 +08:00
2026-04-08 10:39:15 -07:00
2026-03-31 13:04:55 +08:00
2026-04-09 02:20:51 +00:00
2026-04-09 18:14:28 +08:00
2026-04-09 18:14:28 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:23:02 +08:00
2026-04-04 11:13:58 +08:00
2026-03-27 14:33:05 +08:00
2026-04-05 17:11:01 +08:00
2026-03-30 00:21:51 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:11:01 +08:00
2026-04-05 17:11:01 +08:00
2026-04-04 11:09:01 +08:00
2026-04-14 09:22:12 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:23:02 +08:00
2026-04-14 09:20:39 +08:00
2026-04-14 09:20:39 +08:00
2026-04-14 09:23:02 +08:00