This commit is contained in:
Mrx
2026-03-04 12:59:45 +08:00
parent 374143995e
commit 02dbc02fe8
4 changed files with 18 additions and 10 deletions

View File

@@ -605,9 +605,8 @@ type YYSY8B1CReq struct {
} }
type QYGLJ0Q1Req struct { type QYGLJ0Q1Req struct {
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` EntName string `json:"ent_name" validate:"omitempty,min=1,validEnterpriseName"`
IDCard string `json:"id_card" validate:"required,validIDCard"` EntCode string `json:"ent_code" validate:"omitempty,validUSCI"`
Name string `json:"name" validate:"required,min=1,validName"`
} }
type YYSY6D9AReq struct { type YYSY6D9AReq struct {
MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"` MobileNo string `json:"mobile_no" validate:"required,min=11,max=11,validMobileNo"`

View File

@@ -258,7 +258,7 @@ func (s *FormConfigServiceImpl) getDTOStruct(ctx context.Context, apiCode string
"IVYZOCR1": &dto.IVYZOCR1Req{}, //身份证OCR "IVYZOCR1": &dto.IVYZOCR1Req{}, //身份证OCR
"IVYZOCR2": &dto.IVYZOCR1Req{}, //身份证OCR2数卖 "IVYZOCR2": &dto.IVYZOCR1Req{}, //身份证OCR2数卖
"QYGLJ0Q1": &dto.QYGLJ0Q1Req{}, //企业股权结构全景查询 "QYGLJ0Q1": &dto.QYGLJ0Q1Req{}, //企业股权结构全景查询
"QYGLUY3S": &dto.QYGLUY3SReq{}, //企业经营状态全景查询 "QYGLUY3S": &dto.QYGLUY3SReq{}, //企业全量信息核验V2 可用
"JRZQOCRE": &dto.JRZQOCREReq{}, //银行卡OCR数卖 "JRZQOCRE": &dto.JRZQOCREReq{}, //银行卡OCR数卖
"JRZQOCRY": &dto.JRZQOCRYReq{}, //银行卡OCR数据宝 "JRZQOCRY": &dto.JRZQOCRYReq{}, //银行卡OCR数据宝
} }

View File

@@ -21,12 +21,21 @@ func ProcessQYGLJ0Q1Request(ctx context.Context, params []byte, deps *processors
return nil, errors.Join(processors.ErrInvalidParam, err) return nil, errors.Join(processors.ErrInvalidParam, err)
} }
// 构建数据宝入参姓名、身份证、手机号、银行卡号sign 外的业务参数可按需 AES 加密后作为 bodyData // 二选一:企业名称(entName) 与 统一社会信用代码(creditCode) 必须且仅能传其一
hasEntName := paramsDto.EntName != ""
hasEntCode := paramsDto.EntCode != ""
if hasEntName == hasEntCode { // 两个都填或两个都未填
return nil, errors.Join(processors.ErrInvalidParam, errors.New("ent_name 与 ent_code 二选一,必须且仅能传其中一个"))
}
// 构建数据宝入参sign 外的业务参数可按需 AES 加密后作为 bodyData
reqParams := map[string]interface{}{ reqParams := map[string]interface{}{
"key": "adac456f7b4ced764b606c8b07fed4d3", "key": "adac456f7b4ced764b606c8b07fed4d3",
"mobile": paramsDto.MobileNo, }
"idcard": paramsDto.IDCard, if hasEntName {
"name": paramsDto.Name, reqParams["entName"] = paramsDto.EntName
} else {
reqParams["creditCode"] = paramsDto.EntCode
} }
// 最终请求 URL = https://api.chinadatapay.com/communication + 拼接接口地址值,如 personal/197 // 最终请求 URL = https://api.chinadatapay.com/communication + 拼接接口地址值,如 personal/197

View File

@@ -10,7 +10,7 @@ import (
"tyapi-server/internal/infrastructure/external/shujubao" "tyapi-server/internal/infrastructure/external/shujubao"
) )
// ProcessQYGLUY3SRequest QYGLUY3S 企业经营状态全景查询 API 处理方法(使用数据宝服务示例) // ProcessQYGLUY3SRequest QYGLUY3S 企业全量信息核验V2 可用 API 处理方法(使用数据宝服务示例)
func ProcessQYGLUY3SRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) { func ProcessQYGLUY3SRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
var paramsDto dto.QYGLUY3SReq var paramsDto dto.QYGLUY3SReq
if err := json.Unmarshal(params, &paramsDto); err != nil { if err := json.Unmarshal(params, &paramsDto); err != nil {