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
|
||
}
|