26 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 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)
 | |
| }  |