f
This commit is contained in:
@@ -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"`
|
||||||
|
|||||||
@@ -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数据宝
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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, ¶msDto); err != nil {
|
if err := json.Unmarshal(params, ¶msDto); err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user