30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package repositories
 | ||
| 
 | ||
| import (
 | ||
| 	"context"
 | ||
| 	"tyapi-server/internal/domains/certification/entities"
 | ||
| 	"tyapi-server/internal/domains/certification/enums"
 | ||
| 	"tyapi-server/internal/shared/interfaces"
 | ||
| )
 | ||
| 
 | ||
| // CertificationCommandRepository 认证命令仓储接口
 | ||
| // 专门处理认证数据的变更操作,符合CQRS模式
 | ||
| type CertificationCommandRepository interface {
 | ||
| 	// 基础CRUD操作
 | ||
| 	Create(ctx context.Context, cert entities.Certification) error
 | ||
| 	Update(ctx context.Context, cert entities.Certification) error
 | ||
| 	Delete(ctx context.Context, id string) error
 | ||
| 
 | ||
| 	// 业务特定的更新操作
 | ||
| 	UpdateStatus(ctx context.Context, id string, status enums.CertificationStatus) error
 | ||
| 	UpdateAuthFlowID(ctx context.Context, id string, authFlowID string) error
 | ||
| 	UpdateContractInfo(ctx context.Context, id string, contractFileID, esignFlowID, contractURL, contractSignURL string) error
 | ||
| 	UpdateFailureInfo(ctx context.Context, id string, reason enums.FailureReason, message string) error
 | ||
| 
 | ||
| 	// 批量操作
 | ||
| 	BatchUpdateStatus(ctx context.Context, ids []string, status enums.CertificationStatus) error
 | ||
| 
 | ||
| 	// 事务支持
 | ||
| 	WithTx(tx interfaces.Transaction) CertificationCommandRepository
 | ||
| }
 |