package requests import "strings" type CaV2Request struct { GetServiceURL GetCaV2ServiceURL CertSign GetCaV2CertSign GetCertSignResult GetCaV2CertSignResult PasswordLessSignInfo GetCaV2PasswordLessSignInfo } type GetCaV2ServiceURL struct { CertType string `json:"certType" form:"certType" validate:"required,oneof=Personal Organizational OrgPerson" label:"证书类型"` Type string `json:"type" form:"type" validate:"required,oneof=BUSINESS_CENTER CERT_APPLY CERT_RENEW CERT_UPDATE CERT_REVOKE" label:"业务类型"` EntityID string `json:"entityId" form:"entityId" validate:"required" label:"用户唯一标识"` UserName string `json:"userName" form:"userName"` UserIDCard string `json:"userIdCard" form:"userIdCard"` UserPhone string `json:"userPhone" form:"userPhone"` Email string `json:"email" form:"email"` EnterpriseName string `json:"enterpriseName" form:"enterpriseName"` SocialCreditCode string `json:"socialCreditCode" form:"socialCreditCode"` DeptPerson string `json:"deptPerson" form:"deptPerson"` DeptPersonCode string `json:"deptPersonCode" form:"deptPersonCode"` DeptPersonPhone string `json:"deptPersonPhone" form:"deptPersonPhone"` AgentName string `json:"agentName" form:"agentName"` AgentIDCard string `json:"agentIdCard" form:"agentIdCard"` AuthMethod string `json:"authMethod" form:"authMethod" validate:"omitempty,oneof=face SMS" label:"认证方式"` } func (r GetCaV2ServiceURL) ValidateBusinessFields() string { switch r.CertType { case "Personal": if strings.TrimSpace(r.UserName) == "" || strings.TrimSpace(r.UserIDCard) == "" || strings.TrimSpace(r.UserPhone) == "" { return "个人证书必须填写 userName、userIdCard、userPhone" } case "Organizational": if strings.TrimSpace(r.EnterpriseName) == "" || strings.TrimSpace(r.SocialCreditCode) == "" || strings.TrimSpace(r.DeptPerson) == "" || strings.TrimSpace(r.DeptPersonCode) == "" || strings.TrimSpace(r.DeptPersonPhone) == "" { return "企业证书必须填写 enterpriseName、socialCreditCode、deptPerson、deptPersonCode、deptPersonPhone" } case "OrgPerson": if strings.TrimSpace(r.UserName) == "" || strings.TrimSpace(r.UserIDCard) == "" || strings.TrimSpace(r.UserPhone) == "" { return "企业个人证书必须填写 userName、userIdCard、userPhone" } if strings.TrimSpace(r.EnterpriseName) == "" || strings.TrimSpace(r.SocialCreditCode) == "" || strings.TrimSpace(r.DeptPerson) == "" || strings.TrimSpace(r.DeptPersonCode) == "" || strings.TrimSpace(r.DeptPersonPhone) == "" { return "企业个人证书必须填写 enterpriseName、socialCreditCode、deptPerson、deptPersonCode、deptPersonPhone" } } return "" } type GetCaV2CertSign struct { EntityID string `json:"entityId" form:"entityId" validate:"required" label:"用户唯一标识"` RequestID string `json:"requestId" form:"requestId" validate:"required" label:"业务流水号"` BusinessType string `json:"businessType" form:"businessType" validate:"required,oneof=businessCenter certApply certRenewcertRenew certUpdate certRevoke certInfo certSign certUpdatePin" label:"业务类型"` ToSign string `json:"toSign" form:"toSign" validate:"required" label:"签名原文"` NotifyURL string `json:"notifyUrl" form:"notifyUrl"` JumpURL string `json:"jumpUrl" form:"jumpUrl"` ExtParam string `json:"extParam" form:"extParam"` } type GetCaV2CertSignResult struct { RequestID string `json:"requestId" form:"requestId" validate:"required" label:"业务流水号"` } type GetCaV2PasswordLessSignInfo struct { EntityID string `json:"entityId" form:"entityId" validate:"required" label:"用户唯一标识"` }