feat: 添加交易和周期性交易的HTTP处理器。

This commit is contained in:
2026-01-28 15:54:33 +08:00
parent 57def08201
commit a9ee8856ba
2 changed files with 9 additions and 9 deletions

View File

@@ -5,10 +5,10 @@ import (
"strconv"
"time"
"accounting-app/pkg/api"
"accounting-app/internal/models"
"accounting-app/internal/repository"
"accounting-app/internal/service"
"accounting-app/pkg/api"
"github.com/gin-gonic/gin"
)
@@ -55,7 +55,7 @@ type UpdateRecurringTransactionRequest struct {
// CreateRecurringTransaction handles POST /api/v1/recurring-transactions
// Creates a new recurring transaction with the provided data
// Validates: Requirements 1.2.1 - 鍒涘缓鍛ㄦ湡鎬т氦鏄撳苟淇濆瓨鍛ㄦ湡瑙勫垯
// Validates: Requirements 1.2.1 - 创建周期性交易并保存周期规则
func (h *RecurringTransactionHandler) CreateRecurringTransaction(c *gin.Context) {
var req CreateRecurringTransactionRequest
if err := c.ShouldBindJSON(&req); err != nil {
@@ -171,7 +171,7 @@ func (h *RecurringTransactionHandler) GetRecurringTransaction(c *gin.Context) {
// UpdateRecurringTransaction handles PUT /api/v1/recurring-transactions/:id
// Updates an existing recurring transaction with the provided data
// Validates: Requirements 1.2.3 - 缂栬緫鍛ㄦ湡鎬т氦鏄撴ā鏉?
// Validates: Requirements 1.2.3 - 编辑周期性交易模板
func (h *RecurringTransactionHandler) UpdateRecurringTransaction(c *gin.Context) {
id, err := strconv.ParseUint(c.Param("id"), 10, 32)
if err != nil {
@@ -236,7 +236,7 @@ func (h *RecurringTransactionHandler) UpdateRecurringTransaction(c *gin.Context)
// DeleteRecurringTransaction handles DELETE /api/v1/recurring-transactions/:id
// Deletes a recurring transaction by ID
// Validates: Requirements 1.2.4 - 鍒犻櫎鍛ㄦ湡鎬т氦鏄?
// Validates: Requirements 1.2.4 - 删除周期性交易
func (h *RecurringTransactionHandler) DeleteRecurringTransaction(c *gin.Context) {
id, err := strconv.ParseUint(c.Param("id"), 10, 32)
if err != nil {
@@ -267,7 +267,7 @@ func (h *RecurringTransactionHandler) DeleteRecurringTransaction(c *gin.Context)
// ProcessDueRecurringTransactions handles POST /api/v1/recurring-transactions/process
// Processes all due recurring transactions and generates actual transactions
// For income transactions, it also triggers matching allocation rules
// Validates: Requirements 1.2.2 - 鍒拌揪鍛ㄦ湡瑙﹀彂鏃堕棿鑷姩鐢熸垚浜ゆ槗璁板綍
// Validates: Requirements 1.2.2 - 到达周期触发时间自动生成交易记录
func (h *RecurringTransactionHandler) ProcessDueRecurringTransactions(c *gin.Context) {
// Get current time or use provided time for testing
now := time.Now()