79 lines
3.7 KiB
Go
79 lines
3.7 KiB
Go
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:"用户唯一标识"`
|
|
}
|