This commit is contained in:
2025-08-02 02:54:21 +08:00
parent 934dce2776
commit 66845d3fe0
74 changed files with 8686 additions and 212 deletions

View File

@@ -0,0 +1,26 @@
package repositories
import (
"context"
"time"
"tyapi-server/internal/domains/finance/entities"
)
// InvoiceApplicationRepository 发票申请仓储接口
type InvoiceApplicationRepository interface {
Create(ctx context.Context, application *entities.InvoiceApplication) error
Update(ctx context.Context, application *entities.InvoiceApplication) error
Save(ctx context.Context, application *entities.InvoiceApplication) error
FindByID(ctx context.Context, id string) (*entities.InvoiceApplication, error)
FindByUserID(ctx context.Context, userID string, page, pageSize int) ([]*entities.InvoiceApplication, int64, error)
FindPendingApplications(ctx context.Context, page, pageSize int) ([]*entities.InvoiceApplication, int64, error)
FindByStatus(ctx context.Context, status entities.ApplicationStatus) ([]*entities.InvoiceApplication, error)
FindByUserIDAndStatus(ctx context.Context, userID string, status entities.ApplicationStatus, page, pageSize int) ([]*entities.InvoiceApplication, int64, error)
FindByUserIDAndStatusWithTimeRange(ctx context.Context, userID string, status entities.ApplicationStatus, startTime, endTime *time.Time, page, pageSize int) ([]*entities.InvoiceApplication, int64, error)
FindByStatusWithTimeRange(ctx context.Context, status entities.ApplicationStatus, startTime, endTime *time.Time, page, pageSize int) ([]*entities.InvoiceApplication, int64, error)
FindAllWithTimeRange(ctx context.Context, startTime, endTime *time.Time, page, pageSize int) ([]*entities.InvoiceApplication, int64, error)
GetUserTotalInvoicedAmount(ctx context.Context, userID string) (string, error)
GetUserTotalAppliedAmount(ctx context.Context, userID string) (string, error)
}

View File

@@ -0,0 +1,30 @@
package repositories
import (
"context"
"tyapi-server/internal/domains/finance/entities"
)
// UserInvoiceInfoRepository 用户开票信息仓储接口
type UserInvoiceInfoRepository interface {
// Create 创建用户开票信息
Create(ctx context.Context, info *entities.UserInvoiceInfo) error
// Update 更新用户开票信息
Update(ctx context.Context, info *entities.UserInvoiceInfo) error
// Save 保存用户开票信息(创建或更新)
Save(ctx context.Context, info *entities.UserInvoiceInfo) error
// FindByUserID 根据用户ID查找开票信息
FindByUserID(ctx context.Context, userID string) (*entities.UserInvoiceInfo, error)
// FindByID 根据ID查找开票信息
FindByID(ctx context.Context, id string) (*entities.UserInvoiceInfo, error)
// Delete 删除用户开票信息
Delete(ctx context.Context, userID string) error
// Exists 检查用户开票信息是否存在
Exists(ctx context.Context, userID string) (bool, error)
}

View File

@@ -25,4 +25,7 @@ type WalletTransactionRepository interface {
// 新增:统计用户钱包交易次数
CountByUserId(ctx context.Context, userId string) (int64, error)
// 管理端:根据条件筛选所有钱包交易记录(包含产品名称)
ListWithFiltersAndProductName(ctx context.Context, filters map[string]interface{}, options interfaces.ListOptions) (map[string]string, []*entities.WalletTransaction, int64, error)
}