SunCheng
|
2cb5bffc70
|
feat(budget): 添加存款明细数据生成逻辑
- 实现 GenerateMonthlyDetails 方法生成月度存款明细
- 为每个预算项调用 BudgetItemCalculator 计算有效金额
- 生成计算说明(使用预算/使用实际/超支/按天折算)
- 标记超支项目
- 生成汇总信息(总收入、总支出、计划存款)
- GetForMonthAsync 现在返回 Details 字段
- 包含收入明细列表
- 包含支出明细列表
- 包含计算汇总和公式
- 新增集成测试验证 Details 字段生成正确
- 验证收入项计算规则
- 验证支出项超支标记
- 验证硬性支出处理
- 验证汇总计算
测试结果:58个预算测试全部通过
|
2026-02-20 16:59:17 +08:00 |
|
SunCheng
|
4cc205fc25
|
feat(budget): 实现存款明细计算核心逻辑
- 添加 BudgetItemCalculator 辅助类,实现明细项计算规则
- 收入:实际>0取实际,否则取预算
- 支出:取MAX(预算, 实际)
- 硬性支出未发生:按天数折算
- 归档数据:直接使用实际值
- 实现月度和年度存款核心公式
- 月度:收入预算 + 本月年度收入 - 支出预算 - 本月年度支出
- 年度:归档已实收 + 未来收入预算 - 归档已实支 - 未来支出预算
- 定义存款明细数据结构
- SavingsDetail: 包含收入/支出明细列表和汇总
- BudgetDetailItem: 预算明细项(含计算用金额、计算说明等)
- SavingsCalculationSummary: 计算汇总信息
- 新增单元测试
- BudgetItemCalculatorTest: 11个测试覆盖所有计算规则
- BudgetSavingsCalculationTest: 6个测试验证核心公式
测试结果:所有测试通过 (366 passed, 0 failed)
|
2026-02-20 16:26:04 +08:00 |
|
SunCheng
|
2cf19a45e5
|
1
Docker Build & Deploy / Build Docker Image (push) Successful in 23s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
|
2026-02-19 22:44:26 +08:00 |
|
SunCheng
|
9921cd5fdf
|
chore: migrate remaining ECharts components to Chart.js
- Migrated 4 components from ECharts to Chart.js:
* MonthlyExpenseCard.vue (折线图)
* DailyTrendChart.vue (双系列折线图)
* ExpenseCategoryCard.vue (环形图)
* BudgetChartAnalysis.vue (仪表盘 + 多种图表)
- Removed all ECharts imports and environment variable switches
- Unified all charts to use BaseChart.vue component
- Build verified: pnpm build success ✓
- No echarts imports remaining ✓
Refs: openspec/changes/migrate-remaining-echarts-to-chartjs
|
2026-02-16 21:55:38 +08:00 |
|
SunCheng
|
a88556c784
|
fix
|
2026-02-15 10:10:28 +08:00 |
|
SunCheng
|
6f725dbb13
|
fix: 修复收入预算计算和添加存款计划明细功能
问题1:修复收入预算实际金额计算
- 在 BudgetRepository.cs 中修复 SelectedCategories.Split 逻辑
- 添加 StringSplitOptions.RemoveEmptyEntries 和 StringSplitOptions.TrimEntries 参数
- 添加单元测试验证修复
问题2:添加存款计划明细按钮和弹窗
- 在 BudgetCard.vue 中添加 'show-detail' emit
- 为存款计划卡片(category === 2)添加明细按钮
- 在 SavingsBudgetContent.vue 中实现明细弹窗
- 弹窗显示:收入预算、支出预算、计划存款公式、存款结果
问题3:统一卡片样式
- 修复 BudgetChartAnalysis.vue 的卡片样式
- 使用 16px 圆角、增强阴影和边框
|
2026-02-14 12:58:26 +08:00 |
|
SunCheng
|
a7954f55ad
|
feat: remove V1 calendar/budget/stats modules
- 删除 V1 前端页面 (CalendarView, BudgetView, statisticsV1)
- 移除 V1 路由配置 (/calendar, /budget, /)
- 清理路由守卫中的 V1 版本切换逻辑
- 移除设置页面中的版本切换功能
- 更新底部导航和登录重定向到 V2 路由
- 移除 App.vue 中 V1 页面的缓存配置
- 删除后端 TransactionRecordController.GetDailyStatisticsAsync (Obsolete)
- 删除 TransactionStatisticsController.GetBalanceStatisticsAsync
- 保留 V2 仍在使用的共享 API (GetUncoveredCategories, GetArchiveSummary, GetDailyStatistics)
- 保留 V2 使用的全局事件监听机制
- 所有测试通过 (210/210)
Breaking Change: V1 API 端点和路由将不可用
|
2026-02-14 00:01:44 +08:00 |
|
SunCheng
|
51172e8c5a
|
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 4m27s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
|
2026-02-11 13:00:01 +08:00 |
|
SunCheng
|
d052ae5197
|
fix
|
2026-02-10 17:49:19 +08:00 |
|
|
|
61916dc6da
|
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 31s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
|
2026-02-01 10:27:04 +08:00 |
|
SunCheng
|
704f58b1a1
|
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 24s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 3s
|
2026-01-30 10:41:19 +08:00 |
|
SunCheng
|
d9703d31ae
|
1
Docker Build & Deploy / Build Docker Image (push) Successful in 34s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
|
2026-01-28 19:32:11 +08:00 |
|
SunCheng
|
e93c3d6bae
|
测试覆盖率
Docker Build & Deploy / Build Docker Image (push) Successful in 27s
Docker Build & Deploy / Deploy to Production (push) Successful in 9s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
|
2026-01-28 17:00:58 +08:00 |
|
SunCheng
|
3ed9cf5ebd
|
重构: 将 LogCleanupService 转为 Quartz Job 服务
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
- 创建 LogCleanupJob 替代 LogCleanupService (BackgroundService)
- 在 Expand.cs 中注册 LogCleanupJob (每天凌晨2点执行, 保留30天日志)
- 从 Program.cs 移除 LogCleanupService 的 HostedService 注册
- 删除 Service/LogCleanupService.cs
- 删除 Service/PeriodicBillBackgroundService.cs (已无用的重复服务)
所有后台任务现在统一通过 Quartz.NET 管理, 支持运行时控制
|
2026-01-28 11:19:23 +08:00 |
|
SunCheng
|
b71eadd4f9
|
重构账单查询sql
Docker Build & Deploy / Build Docker Image (push) Successful in 26s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
|
2026-01-28 10:58:15 +08:00 |
|
SunCheng
|
4aa7e82429
|
移除对账功能 后期从长计议
Docker Build & Deploy / Build Docker Image (push) Failing after 1m57s
Docker Build & Deploy / Deploy to Production (push) Has been skipped
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
|
2026-01-27 15:29:25 +08:00 |
|
SunCheng
|
4ff99b62c8
|
优化
Docker Build & Deploy / Build Docker Image (push) Successful in 39s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
|
2026-01-23 17:14:41 +08:00 |
|
SunCheng
|
dcbde4db23
|
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 25s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
|
2026-01-22 21:03:00 +08:00 |
|
SunCheng
|
9e14849014
|
feat: 添加预算统计服务增强和日志系统改进
Docker Build & Deploy / Build Docker Image (push) Successful in 24s
Docker Build & Deploy / Deploy to Production (push) Successful in 6s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
1. 新增 BudgetStatsService:将预算统计逻辑从 BudgetService 中提取为独立服务,支持月度和年度统计,包含归档数据支持和硬性预算调整算法
2. 日志系统增强:添加请求ID追踪功能,支持通过请求ID查询关联日志,新增类名筛选功能
3. 日志解析优化:修复类名解析逻辑,正确提取 SourceContext 中的类名信息
4. 代码清理:移除不需要的方法名相关代码,简化日志筛选逻辑
|
2026-01-22 19:07:10 +08:00 |
|
SunCheng
|
a06a75ee97
|
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 23s
Docker Build & Deploy / Deploy to Production (push) Successful in 7s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 2s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
|
2026-01-22 11:06:52 +08:00 |
|
SunCheng
|
64aa24c07b
|
fix
Docker Build & Deploy / Build Docker Image (push) Successful in 22s
Docker Build & Deploy / Deploy to Production (push) Successful in 5s
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s
|
2026-01-21 18:52:31 +08:00 |
|
SunCheng
|
0ffeb41605
|
重构存款预算
Docker Build & Deploy / Build Docker Image (push) Failing after 44s
Docker Build & Deploy / Deploy to Production (push) Has been skipped
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 3s
Docker Build & Deploy / WeChat Notification (push) Successful in 2s
|
2026-01-20 19:11:05 +08:00 |
|
SunCheng
|
9611ff2088
|
添加简单测试
|
2026-01-18 22:17:32 +08:00 |
|