This commit is contained in:
2025-07-28 01:46:39 +08:00
parent b03129667a
commit 357639462a
219 changed files with 21634 additions and 8138 deletions

View File

@@ -11,6 +11,7 @@ import (
type UserStats struct {
TotalUsers int64
ActiveUsers int64
CertifiedUsers int64
TodayRegistrations int64
TodayLogins int64
}
@@ -24,6 +25,12 @@ type UserRepository interface {
GetByUsername(ctx context.Context, username string) (*entities.User, error)
GetByUserType(ctx context.Context, userType string) ([]*entities.User, error)
// 关联查询
GetByIDWithEnterpriseInfo(ctx context.Context, id string) (entities.User, error)
// 企业信息查询
ExistsByUnifiedSocialCode(ctx context.Context, unifiedSocialCode string, excludeUserID string) (bool, error)
// 复杂查询 - 使用查询参数
ListUsers(ctx context.Context, query *queries.ListUsersQuery) ([]*entities.User, int64, error)
@@ -72,3 +79,29 @@ type SMSCodeStats struct {
SuccessRate float64
TodaySent int64
}
// EnterpriseInfoRepository 企业信息仓储接口
type EnterpriseInfoRepository interface {
interfaces.Repository[entities.EnterpriseInfo]
// 基础查询 - 直接使用实体
GetByUserID(ctx context.Context, userID string) (*entities.EnterpriseInfo, error)
GetByUnifiedSocialCode(ctx context.Context, unifiedSocialCode string) (*entities.EnterpriseInfo, error)
CheckUnifiedSocialCodeExists(ctx context.Context, unifiedSocialCode string, excludeUserID string) (bool, error)
// 业务操作
UpdateVerificationStatus(ctx context.Context, userID string, isOCRVerified, isFaceVerified, isCertified bool) error
UpdateOCRData(ctx context.Context, userID string, rawData string, confidence float64) error
CompleteCertification(ctx context.Context, userID string) error
// 批量操作
CreateBatch(ctx context.Context, enterpriseInfos []entities.EnterpriseInfo) error
GetByIDs(ctx context.Context, ids []string) ([]entities.EnterpriseInfo, error)
UpdateBatch(ctx context.Context, enterpriseInfos []entities.EnterpriseInfo) error
DeleteBatch(ctx context.Context, ids []string) error
// 统计和列表查询
Count(ctx context.Context, options interfaces.CountOptions) (int64, error)
List(ctx context.Context, options interfaces.ListOptions) ([]entities.EnterpriseInfo, error)
Exists(ctx context.Context, id string) (bool, error)
}