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()
|
||||
|
||||
@@ -63,7 +63,7 @@ type UpdateTransactionRequest struct {
|
||||
|
||||
// CreateTransaction handles POST /api/v1/transactions
|
||||
// Creates a new transaction with the provided data
|
||||
// Validates: Requirements 1.1 - 鍒涘缓浜ゆ槗璁板綍
|
||||
// Validates: Requirements 1.1 - 创建交易记录
|
||||
func (h *TransactionHandler) CreateTransaction(c *gin.Context) {
|
||||
var req CreateTransactionRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
@@ -118,7 +118,7 @@ func (h *TransactionHandler) CreateTransaction(c *gin.Context) {
|
||||
|
||||
// GetTransactions handles GET /api/v1/transactions
|
||||
// Returns a list of transactions with pagination and filtering
|
||||
// Validates: Requirements 1.4 - 鏌ョ湅浜ゆ槗鍒楄〃锛堟寜鏃堕棿鍊掑簭锛?
|
||||
// Validates: Requirements 1.4 - 查看交易列表(按时间倒序)
|
||||
func (h *TransactionHandler) GetTransactions(c *gin.Context) {
|
||||
// Parse query parameters
|
||||
input := service.TransactionListInput{}
|
||||
@@ -276,7 +276,7 @@ func (h *TransactionHandler) GetTransaction(c *gin.Context) {
|
||||
|
||||
// UpdateTransaction handles PUT /api/v1/transactions/:id
|
||||
// Updates an existing transaction with the provided data
|
||||
// Validates: Requirements 1.2 - 缂栬緫浜ゆ槗璁板綍
|
||||
// Validates: Requirements 1.2 - 编辑交易记录
|
||||
func (h *TransactionHandler) UpdateTransaction(c *gin.Context) {
|
||||
id, err := strconv.ParseUint(c.Param("id"), 10, 32)
|
||||
if err != nil {
|
||||
@@ -329,7 +329,7 @@ func (h *TransactionHandler) UpdateTransaction(c *gin.Context) {
|
||||
|
||||
// DeleteTransaction handles DELETE /api/v1/transactions/:id
|
||||
// Deletes a transaction by ID
|
||||
// Validates: Requirements 1.3 - 鍒犻櫎浜ゆ槗璁板綍
|
||||
// Validates: Requirements 1.3 - 删除交易记录
|
||||
func (h *TransactionHandler) DeleteTransaction(c *gin.Context) {
|
||||
id, err := strconv.ParseUint(c.Param("id"), 10, 32)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user