package certification import ( "context" "tyapi-server/internal/application/certification/dto/commands" "tyapi-server/internal/application/certification/dto/queries" "tyapi-server/internal/application/certification/dto/responses" ) // CertificationApplicationService 认证应用服务接口 // 负责用例协调,提供精简的应用层接口 type CertificationApplicationService interface { // ================ 用户操作用例 ================ // 创建认证申请 CreateCertification(ctx context.Context, cmd *commands.CreateCertificationCommand) (*responses.CertificationResponse, error) // 提交企业信息 SubmitEnterpriseInfo(ctx context.Context, cmd *commands.SubmitEnterpriseInfoCommand) (*responses.CertificationResponse, error) // 申请合同签署 ApplyContract(ctx context.Context, cmd *commands.ApplyContractCommand) (*responses.ContractSignUrlResponse, error) // 重试失败操作 RetryOperation(ctx context.Context, cmd *commands.RetryOperationCommand) (*responses.CertificationResponse, error) // ================ 查询用例 ================ // 获取认证详情 GetCertification(ctx context.Context, query *queries.GetCertificationQuery) (*responses.CertificationResponse, error) // 获取用户认证列表 GetUserCertifications(ctx context.Context, query *queries.GetUserCertificationsQuery) (*responses.CertificationListResponse, error) // 获取认证列表(管理员) ListCertifications(ctx context.Context, query *queries.ListCertificationsQuery) (*responses.CertificationListResponse, error) // 搜索认证 SearchCertifications(ctx context.Context, query *queries.SearchCertificationsQuery) (*responses.CertificationListResponse, error) // 获取认证统计 GetCertificationStatistics(ctx context.Context, query *queries.GetCertificationStatisticsQuery) (*responses.CertificationStatisticsResponse, error) // ================ e签宝回调处理 ================ // 处理e签宝回调 HandleEsignCallback(ctx context.Context, cmd *commands.EsignCallbackCommand) (*responses.CallbackResponse, error) // ================ 管理员操作 ================ // 手动状态转换(管理员) ForceTransitionStatus(ctx context.Context, cmd *commands.ForceTransitionStatusCommand) (*responses.CertificationResponse, error) // 获取系统监控数据 GetSystemMonitoring(ctx context.Context, query *queries.GetSystemMonitoringQuery) (*responses.SystemMonitoringResponse, error) }