fix form_config_service

This commit is contained in:
2025-11-01 21:19:21 +08:00
parent 90bb1d017e
commit bb88c78c82
2 changed files with 131 additions and 9 deletions

View File

@@ -304,6 +304,10 @@ func (s *FormConfigServiceImpl) getFieldType(fieldType reflect.Type, validation
return "text"
} else if strings.Contains(validation, "姓名") {
return "text"
} else if strings.Contains(validation, "时间范围格式") {
return "text" // time_range是HH:MM-HH:MM格式使用文本输入
} else if strings.Contains(validation, "授权日期格式") {
return "text" // auth_date是YYYYMMDD-YYYYMMDD格式使用文本输入
} else if strings.Contains(validation, "日期") {
return "date"
} else if strings.Contains(validation, "链接") {
@@ -344,7 +348,13 @@ func (s *FormConfigServiceImpl) generateFieldLabel(jsonTag string) string {
"mobile_type": "手机类型",
"start_date": "开始日期",
"years": "年数",
"bank_card": "银行卡号",
"bank_card": "银行卡号",
"user_type": "关系类型",
"vehicle_type": "车辆类型",
"page_num": "页码",
"page_size": "每页数量",
"use_scenario": "使用场景",
"auth_authorize_file_code": "授权文件编码",
}
if label, exists := labelMap[jsonTag]; exists {
@@ -366,8 +376,8 @@ func (s *FormConfigServiceImpl) generateExampleValue(fieldType reflect.Type, jso
"ent_name": "示例企业有限公司",
"legal_person": "王五",
"ent_code": "91110000123456789X",
"auth_date": "2024-01-01",
"time_range": "2024-01-01至2024-12-31",
"auth_date": "20240101-20241231",
"time_range": "09:00-18:00",
"authorized": "1",
"years": "5",
"bank_card": "6222021234567890123",
@@ -375,7 +385,13 @@ func (s *FormConfigServiceImpl) generateExampleValue(fieldType reflect.Type, jso
"start_date": "2024-01-01",
"unique_id": "UNIQUE123456",
"return_url": "https://example.com/return",
"authorization_url": "https://example.com/auth",
"authorization_url": "https://example.com/auth20250101.pdf",
"user_type": "1",
"vehicle_type": "0",
"page_num": "1",
"page_size": "10",
"use_scenario": "1",
"auth_authorize_file_code": "AUTH123456",
}
if example, exists := exampleMap[jsonTag]; exists {
@@ -406,8 +422,8 @@ func (s *FormConfigServiceImpl) generatePlaceholder(jsonTag string, fieldType st
"ent_name": "请输入企业全称",
"legal_person": "请输入法人真实姓名",
"ent_code": "请输入统一社会信用代码",
"auth_date": "请选择授权日期",
"time_range": "请输入查询时间范围",
"auth_date": "请输入授权日期范围YYYYMMDD-YYYYMMDD",
"time_range": "请输入时间范围HH:MM-HH:MM",
"authorized": "请选择是否授权",
"years": "请输入查询年数0-100",
"bank_card": "请输入银行卡号",
@@ -416,6 +432,12 @@ func (s *FormConfigServiceImpl) generatePlaceholder(jsonTag string, fieldType st
"unique_id": "请输入唯一标识",
"return_url": "请输入返回链接",
"authorization_url": "请输入授权链接",
"user_type": "请选择关系类型",
"vehicle_type": "请选择车辆类型",
"page_num": "请输入页码",
"page_size": "请输入每页数量1-100",
"use_scenario": "请选择使用场景",
"auth_authorize_file_code": "请输入授权文件编码",
}
if placeholder, exists := placeholderMap[jsonTag]; exists {
@@ -448,8 +470,8 @@ func (s *FormConfigServiceImpl) generateDescription(jsonTag string, validation s
"ent_name": "请输入企业全称",
"legal_person": "请输入法人真实姓名",
"ent_code": "请输入统一社会信用代码",
"auth_date": "请输入授权日期格式YYYY-MM-DD",
"time_range": "请输入查询时间范围",
"auth_date": "请输入授权日期范围格式YYYYMMDD-YYYYMMDD且日期范围必须包括今天",
"time_range": "请输入时间范围格式HH:MM-HH:MM",
"authorized": "请输入是否授权0-未授权1-已授权",
"years": "请输入查询年数0-100",
"bank_card": "请输入银行卡号",
@@ -458,6 +480,12 @@ func (s *FormConfigServiceImpl) generateDescription(jsonTag string, validation s
"unique_id": "请输入唯一标识",
"return_url": "请输入返回链接",
"authorization_url": "请输入授权链接",
"user_type": "关系类型1-ETC开户人2-车辆所有人3-ETC经办人默认1-ETC开户人",
"vehicle_type": "车辆类型0-客车1-货车2-全部(默认查全部)",
"page_num": "请输入页码从1开始",
"page_size": "请输入每页数量范围1-100",
"use_scenario": "使用场景1-信贷审核2-保险评估3-招聘背景调查4-其他业务场景99-其他",
"auth_authorize_file_code": "请输入授权文件编码",
}
if desc, exists := descMap[jsonTag]; exists {

View File

@@ -187,13 +187,68 @@ func registerCustomFieldTranslations(validate *validator.Validate, trans ut.Tran
return t
})
// 授权日期翻译
// 授权日期翻译(兼容两种标签)
validate.RegisterTranslation("auth_date", trans, func(ut ut.Translator) error {
return ut.Add("auth_date", "{0}格式不正确必须是YYYYMMDD-YYYYMMDD格式且日期范围必须包括今天", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("auth_date", getFieldDisplayName(fe.Field()))
return t
})
validate.RegisterTranslation("validAuthDate", trans, func(ut ut.Translator) error {
return ut.Add("validAuthDate", "{0}格式不正确必须是YYYYMMDD-YYYYMMDD格式且日期范围必须包括今天", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validAuthDate", getFieldDisplayName(fe.Field()))
return t
})
// 时间范围翻译
validate.RegisterTranslation("validTimeRange", trans, func(ut ut.Translator) error {
return ut.Add("validTimeRange", "{0}格式不正确必须是HH:MM-HH:MM格式", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validTimeRange", getFieldDisplayName(fe.Field()))
return t
})
// 日期翻译
validate.RegisterTranslation("validDate", trans, func(ut ut.Translator) error {
return ut.Add("validDate", "{0}格式不正确必须是YYYY-MM-DD格式", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validDate", getFieldDisplayName(fe.Field()))
return t
})
// 统一社会信用代码翻译validUSCI
validate.RegisterTranslation("validUSCI", trans, func(ut ut.Translator) error {
return ut.Add("validUSCI", "{0}格式不正确必须是18位统一社会信用代码", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validUSCI", getFieldDisplayName(fe.Field()))
return t
})
// 手机号翻译validMobileNo
validate.RegisterTranslation("validMobileNo", trans, func(ut ut.Translator) error {
return ut.Add("validMobileNo", "{0}格式不正确必须是11位手机号", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validMobileNo", getFieldDisplayName(fe.Field()))
return t
})
// 银行卡号翻译
validate.RegisterTranslation("validBankCard", trans, func(ut ut.Translator) error {
return ut.Add("validBankCard", "{0}格式不正确,必须是有效的银行卡号", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validBankCard", getFieldDisplayName(fe.Field()))
return t
})
// 姓名翻译validName
validate.RegisterTranslation("validName", trans, func(ut ut.Translator) error {
return ut.Add("validName", "{0}格式不正确必须包含至少一个汉字或英文字母长度1-50字符", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validName", getFieldDisplayName(fe.Field()))
return t
})
// 授权书URL翻译
validate.RegisterTranslation("authorization_url", trans, func(ut ut.Translator) error {
@@ -218,6 +273,45 @@ func registerCustomFieldTranslations(validate *validator.Validate, trans ut.Tran
t, _ := ut.T("validReturnURL", getFieldDisplayName(fe.Field()))
return t
})
// 身份证号翻译validIDCard
validate.RegisterTranslation("validIDCard", trans, func(ut ut.Translator) error {
return ut.Add("validIDCard", "{0}格式不正确必须是18位身份证号", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validIDCard", getFieldDisplayName(fe.Field()))
return t
})
// 手机类型翻译
validate.RegisterTranslation("validMobileType", trans, func(ut ut.Translator) error {
return ut.Add("validMobileType", "{0}格式不正确,必须是:移动、联通、电信、广电或虚拟运营商", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validMobileType", getFieldDisplayName(fe.Field()))
return t
})
// 授权链接翻译
validate.RegisterTranslation("validAuthorizationURL", trans, func(ut ut.Translator) error {
return ut.Add("validAuthorizationURL", "{0}必须是有效的URL地址且文件类型必须是PDF、JPG、JPEG、PNG或BMP格式", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validAuthorizationURL", getFieldDisplayName(fe.Field()))
return t
})
// 企业名称翻译
validate.RegisterTranslation("validEnterpriseName", trans, func(ut ut.Translator) error {
return ut.Add("validEnterpriseName", "{0}格式不正确必须包含至少一个汉字长度2-100字符", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("validEnterpriseName", getFieldDisplayName(fe.Field()))
return t
})
validate.RegisterTranslation("enterprise_name", trans, func(ut ut.Translator) error {
return ut.Add("enterprise_name", "{0}格式不正确必须包含至少一个汉字长度2-100字符", true)
}, func(ut ut.Translator, fe validator.FieldError) string {
t, _ := ut.T("enterprise_name", getFieldDisplayName(fe.Field()))
return t
})
}
// getFieldDisplayName 获取字段显示名称(中文)