2025-07-21 15:13:26 +08:00
|
|
|
|
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
|
2025-07-28 01:46:39 +08:00
|
|
|
|
|
2025-07-21 15:13:26 +08:00
|
|
|
|
// 业务特定的更新操作
|
|
|
|
|
|
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
|
2025-07-28 01:46:39 +08:00
|
|
|
|
|
2025-07-21 15:13:26 +08:00
|
|
|
|
// 批量操作
|
|
|
|
|
|
BatchUpdateStatus(ctx context.Context, ids []string, status enums.CertificationStatus) error
|
2025-07-28 01:46:39 +08:00
|
|
|
|
|
2025-07-21 15:13:26 +08:00
|
|
|
|
// 事务支持
|
|
|
|
|
|
WithTx(tx interfaces.Transaction) CertificationCommandRepository
|
2025-07-28 01:46:39 +08:00
|
|
|
|
}
|