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 }