v0.1
This commit is contained in:
@@ -14,16 +14,16 @@ type CertificationCommandRepository interface {
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ type CertificationQueryRepository interface {
|
||||
GetByID(ctx context.Context, id string) (*entities.Certification, error)
|
||||
GetByUserID(ctx context.Context, userID string) (*entities.Certification, error)
|
||||
Exists(ctx context.Context, id string) (bool, error)
|
||||
ExistsByUserID(ctx context.Context, userID string) (bool, error)
|
||||
|
||||
// 列表查询
|
||||
List(ctx context.Context, query *queries.ListCertificationsQuery) ([]*entities.Certification, int64, error)
|
||||
@@ -31,9 +32,6 @@ type CertificationQueryRepository interface {
|
||||
GetCertificationsByDateRange(ctx context.Context, startDate, endDate time.Time) ([]*entities.Certification, error)
|
||||
GetUserActiveCertification(ctx context.Context, userID string) (*entities.Certification, error)
|
||||
|
||||
// 统计查询
|
||||
GetStatistics(ctx context.Context, period CertificationTimePeriod) (*CertificationStatistics, error)
|
||||
CountByStatus(ctx context.Context, status enums.CertificationStatus) (int64, error)
|
||||
CountByFailureReason(ctx context.Context, reason enums.FailureReason) (int64, error)
|
||||
GetProgressStatistics(ctx context.Context) (*CertificationProgressStats, error)
|
||||
|
||||
@@ -56,37 +54,6 @@ const (
|
||||
PeriodYearly CertificationTimePeriod = "yearly"
|
||||
)
|
||||
|
||||
// CertificationStatistics 认证统计信息
|
||||
type CertificationStatistics struct {
|
||||
Period CertificationTimePeriod `json:"period"`
|
||||
StartDate time.Time `json:"start_date"`
|
||||
EndDate time.Time `json:"end_date"`
|
||||
|
||||
// 总体统计
|
||||
TotalCertifications int64 `json:"total_certifications"`
|
||||
CompletedCount int64 `json:"completed_count"`
|
||||
FailedCount int64 `json:"failed_count"`
|
||||
InProgressCount int64 `json:"in_progress_count"`
|
||||
|
||||
// 状态分布
|
||||
StatusDistribution map[enums.CertificationStatus]int64 `json:"status_distribution"`
|
||||
|
||||
// 失败原因分布
|
||||
FailureDistribution map[enums.FailureReason]int64 `json:"failure_distribution"`
|
||||
|
||||
// 成功率统计
|
||||
SuccessRate float64 `json:"success_rate"`
|
||||
EnterpriseVerifyRate float64 `json:"enterprise_verify_rate"`
|
||||
ContractSignRate float64 `json:"contract_sign_rate"`
|
||||
|
||||
// 时间统计
|
||||
AvgProcessingTime time.Duration `json:"avg_processing_time"`
|
||||
AvgVerificationTime time.Duration `json:"avg_verification_time"`
|
||||
AvgSigningTime time.Duration `json:"avg_signing_time"`
|
||||
|
||||
// 重试统计
|
||||
RetryStats *CertificationRetryStats `json:"retry_stats"`
|
||||
}
|
||||
|
||||
// CertificationProgressStats 进度统计信息
|
||||
type CertificationProgressStats struct {
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"context"
|
||||
"tyapi-server/internal/domains/certification/entities"
|
||||
)
|
||||
|
||||
type EnterpriseInfoSubmitRecordRepository interface {
|
||||
Create(ctx context.Context, record *entities.EnterpriseInfoSubmitRecord) error
|
||||
Update(ctx context.Context, record *entities.EnterpriseInfoSubmitRecord) error
|
||||
Exists(ctx context.Context, ID string) (bool, error)
|
||||
FindLatestByUserID(ctx context.Context, userID string) (*entities.EnterpriseInfoSubmitRecord, error)
|
||||
FindLatestVerifiedByUserID(ctx context.Context, userID string) (*entities.EnterpriseInfoSubmitRecord, error)
|
||||
}
|
||||
Reference in New Issue
Block a user