temp
This commit is contained in:
@@ -54,7 +54,90 @@ type FLXGDEC7Request struct {
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
|
||||
type IVYZ0B03Request struct {
|
||||
}
|
||||
type IVYZ385ERequest struct {
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type IVYZ5733Request struct {
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
}
|
||||
type IVYZ9363Request struct {
|
||||
ManName string `json:"man_name" validate:"required,min=1,validName"`
|
||||
ManIDCard string `json:"man_id_card" validate:"required,validIDCard"`
|
||||
WomanName string `json:"woman_name" validate:"required,min=1,validName"`
|
||||
WomanIDCard string `json:"woman_id_card" validate:"required,validIDCard"`
|
||||
}
|
||||
|
||||
type JRZQ0A03Request struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type JRZQ4AA8Request struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type JRZQ8203Request struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type JRZQDBCERequest struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
BankCard string `json:"bank_card" validate:"required,validBankCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type QYGL2ACDRequest struct {
|
||||
EntName string `json:"ent_name" validate:"required,min=1,validName"`
|
||||
LegalPerson string `json:"legal_person" validate:"required,min=1,validName"`
|
||||
EntCode string `json:"ent_code" validate:"required,validUSCI"`
|
||||
}
|
||||
type QYGL6F2DRequest struct {
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
}
|
||||
type QYGL45BDRequest struct {
|
||||
EntName string `json:"ent_name" validate:"required,min=1,validName"`
|
||||
LegalPerson string `json:"legal_person" validate:"required,min=1,validName"`
|
||||
EntCode string `json:"ent_code" validate:"required,validUSCI"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
}
|
||||
type QYGL8261Request struct {
|
||||
EntName string `json:"ent_name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type QYGLB4C0Request struct {
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
}
|
||||
|
||||
type YYSY4B37Request struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
}
|
||||
type YYSY6F2ERequest struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
MobileType string `json:"mobile_type" validate:"omitempty,validMobileType"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type YYSY09CDRequest struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
MobileType string `json:"mobile_type" validate:"omitempty,validMobileType"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type YYSYBE08Request struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
Name string `json:"name" validate:"required,min=1,validName"`
|
||||
}
|
||||
type YYSYD50FRequest struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
IDCard string `json:"id_card" validate:"required,validIDCard"`
|
||||
}
|
||||
type YYSYF7DBRequest struct {
|
||||
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`
|
||||
StartDate string `json:"start_date" validate:"required,validDate"`
|
||||
}
|
||||
|
||||
@@ -38,6 +38,18 @@ func init() {
|
||||
if err := validate.RegisterValidation("validTimeRange", validTimeRange); err != nil {
|
||||
panic(fmt.Sprintf("注册 validTimeRange 验证器时发生错误: %v", err))
|
||||
}
|
||||
|
||||
if err := validate.RegisterValidation("validBankCard", validBankCard); err != nil {
|
||||
panic(fmt.Sprintf("注册 validBankCard 验证器时发生错误: %v", err))
|
||||
}
|
||||
|
||||
if err := validate.RegisterValidation("validUSCI", validUSCI); err != nil {
|
||||
panic(fmt.Sprintf("注册 validUSCI 验证器时发生错误: %v", err))
|
||||
}
|
||||
|
||||
if err := validate.RegisterValidation("validMobileType", validMobileType); err != nil {
|
||||
panic(fmt.Sprintf("注册 validMobileType 验证器时发生错误: %v", err))
|
||||
}
|
||||
}
|
||||
|
||||
// ValidateAndParse 封装了解密、解析和校验逻辑
|
||||
@@ -110,3 +122,35 @@ func validTimeRange(fl validator.FieldLevel) bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
func validBankCard(fl validator.FieldLevel) bool {
|
||||
bankCard := fl.Field().String()
|
||||
// 银行卡号一般是13到19位的数字
|
||||
validBankCardPattern := `^\d{13,19}$`
|
||||
matched, _ := regexp.MatchString(validBankCardPattern, bankCard)
|
||||
return matched
|
||||
}
|
||||
|
||||
func validUSCI(fl validator.FieldLevel) bool {
|
||||
usci := fl.Field().String()
|
||||
// 社会信用代码为18位数字和大写字母的组合,最后一位为校验码
|
||||
validUSCIPattern := `^[1-9A-Z]{2}[0-9]{6}[0-9A-Z]{9}[0-9A-Z]$`
|
||||
matched, _ := regexp.MatchString(validUSCIPattern, usci)
|
||||
return matched
|
||||
}
|
||||
|
||||
// 自定义的手机号类型验证(可以为空)
|
||||
func validMobileType(fl validator.FieldLevel) bool {
|
||||
mobileType := fl.Field().String()
|
||||
if mobileType == "" {
|
||||
return true // 如果为空,认为是有效的
|
||||
}
|
||||
|
||||
// 校验是否是 CTCC, CMCC, CUCC 之一
|
||||
validTypes := map[string]bool{
|
||||
"CTCC": true, // 中国电信
|
||||
"CMCC": true, // 中国移动
|
||||
"CUCC": true, // 中国联通
|
||||
}
|
||||
|
||||
return validTypes[mobileType]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user