基础架构
This commit is contained in:
110
internal/domains/certification/.dto/certification_dto.go
Normal file
110
internal/domains/certification/.dto/certification_dto.go
Normal file
@@ -0,0 +1,110 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"tyapi-server/internal/domains/certification/enums"
|
||||
)
|
||||
|
||||
// CertificationCreateRequest 创建认证申请请求
|
||||
type CertificationCreateRequest struct {
|
||||
UserID string `json:"user_id" binding:"required"`
|
||||
}
|
||||
|
||||
// CertificationCreateResponse 创建认证申请响应
|
||||
type CertificationCreateResponse struct {
|
||||
ID string `json:"id"`
|
||||
UserID string `json:"user_id"`
|
||||
Status enums.CertificationStatus `json:"status"`
|
||||
}
|
||||
|
||||
// CertificationStatusResponse 认证状态响应
|
||||
type CertificationStatusResponse struct {
|
||||
ID string `json:"id"`
|
||||
UserID string `json:"user_id"`
|
||||
Status enums.CertificationStatus `json:"status"`
|
||||
StatusName string `json:"status_name"`
|
||||
Progress int `json:"progress"`
|
||||
IsUserActionRequired bool `json:"is_user_action_required"`
|
||||
IsAdminActionRequired bool `json:"is_admin_action_required"`
|
||||
|
||||
// 时间节点
|
||||
InfoSubmittedAt *time.Time `json:"info_submitted_at,omitempty"`
|
||||
FaceVerifiedAt *time.Time `json:"face_verified_at,omitempty"`
|
||||
ContractAppliedAt *time.Time `json:"contract_applied_at,omitempty"`
|
||||
ContractApprovedAt *time.Time `json:"contract_approved_at,omitempty"`
|
||||
ContractSignedAt *time.Time `json:"contract_signed_at,omitempty"`
|
||||
CompletedAt *time.Time `json:"completed_at,omitempty"`
|
||||
|
||||
// 关联信息
|
||||
Enterprise *EnterpriseInfoResponse `json:"enterprise,omitempty"`
|
||||
ContractURL string `json:"contract_url,omitempty"`
|
||||
SigningURL string `json:"signing_url,omitempty"`
|
||||
RejectReason string `json:"reject_reason,omitempty"`
|
||||
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
// SubmitEnterpriseInfoRequest 提交企业信息请求
|
||||
type SubmitEnterpriseInfoRequest struct {
|
||||
CompanyName string `json:"company_name" binding:"required"`
|
||||
UnifiedSocialCode string `json:"unified_social_code" binding:"required"`
|
||||
LegalPersonName string `json:"legal_person_name" binding:"required"`
|
||||
LegalPersonID string `json:"legal_person_id" binding:"required"`
|
||||
LicenseUploadRecordID string `json:"license_upload_record_id" binding:"required"`
|
||||
}
|
||||
|
||||
// SubmitEnterpriseInfoResponse 提交企业信息响应
|
||||
type SubmitEnterpriseInfoResponse struct {
|
||||
ID string `json:"id"`
|
||||
Status enums.CertificationStatus `json:"status"`
|
||||
Enterprise *EnterpriseInfoResponse `json:"enterprise"`
|
||||
}
|
||||
|
||||
// FaceVerifyRequest 人脸识别请求
|
||||
type FaceVerifyRequest struct {
|
||||
RealName string `json:"real_name" binding:"required"`
|
||||
IDCardNumber string `json:"id_card_number" binding:"required"`
|
||||
ReturnURL string `json:"return_url" binding:"required"`
|
||||
}
|
||||
|
||||
// FaceVerifyResponse 人脸识别响应
|
||||
type FaceVerifyResponse struct {
|
||||
CertifyID string `json:"certify_id"`
|
||||
VerifyURL string `json:"verify_url"`
|
||||
ExpiresAt time.Time `json:"expires_at"`
|
||||
}
|
||||
|
||||
// ApplyContractRequest 申请合同请求(无需额外参数)
|
||||
type ApplyContractRequest struct{}
|
||||
|
||||
// ApplyContractResponse 申请合同响应
|
||||
type ApplyContractResponse struct {
|
||||
ID string `json:"id"`
|
||||
Status enums.CertificationStatus `json:"status"`
|
||||
ContractAppliedAt time.Time `json:"contract_applied_at"`
|
||||
}
|
||||
|
||||
// SignContractRequest 签署合同请求
|
||||
type SignContractRequest struct {
|
||||
SignatureData string `json:"signature_data,omitempty"`
|
||||
}
|
||||
|
||||
// SignContractResponse 签署合同响应
|
||||
type SignContractResponse struct {
|
||||
ID string `json:"id"`
|
||||
Status enums.CertificationStatus `json:"status"`
|
||||
ContractSignedAt time.Time `json:"contract_signed_at"`
|
||||
}
|
||||
|
||||
// CertificationDetailResponse 认证详情响应
|
||||
type CertificationDetailResponse struct {
|
||||
*CertificationStatusResponse
|
||||
|
||||
// 详细记录
|
||||
LicenseUploadRecord *LicenseUploadRecordResponse `json:"license_upload_record,omitempty"`
|
||||
FaceVerifyRecords []FaceVerifyRecordResponse `json:"face_verify_records,omitempty"`
|
||||
ContractRecords []ContractRecordResponse `json:"contract_records,omitempty"`
|
||||
NotificationRecords []NotificationRecordResponse `json:"notification_records,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user