feat: 添加交易和周期性交易的HTTP处理器。
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user