This commit is contained in:
Mrx
2026-03-18 13:30:19 +08:00
parent 4e8f9317f5
commit bba34f817e
2 changed files with 13 additions and 14 deletions

View File

@@ -21,22 +21,22 @@ func ProcessQYGL8848Request(ctx context.Context, params []byte, deps *processors
return nil, errors.Join(processors.ErrInvalidParam, err)
}
// 三选一:企业名称(entName)统一社会信用代码(creditCode)企业注册号(entRegNo) 必须且仅能传其一
// 企业名称(entName)统一社会信用代码(creditCode)企业注册号(entRegNo) 至少传其一;多填时优先用 creditCode 传参
hasEntName := paramsDto.EntName != ""
hasEntCode := paramsDto.EntCode != ""
hasEntRegNo := paramsDto.EntRegNo != ""
if hasEntName == hasEntCode == hasEntRegNo { // 三个都填或三个都未填
return nil, errors.Join(processors.ErrInvalidParam, errors.New("ent_nameent_codeent_reg_no 三选一,必须且仅能传其中一个"))
if !hasEntName && !hasEntCode && !hasEntRegNo { // 三个都未填才报错
return nil, errors.Join(processors.ErrInvalidParam, errors.New("ent_nameent_codeent_reg_no 至少需要传其中一个"))
}
// 构建数据宝入参(sign 外的业务参数可按需 AES 加密后作为 bodyData
// 构建数据宝入参(多填时优先取 creditCode
reqParams := map[string]interface{}{
"key": "c67673dd2e92deb2d2ec91b87bb0a81c",
}
if hasEntName {
reqParams["entName"] = paramsDto.EntName
} else if hasEntCode {
if hasEntCode {
reqParams["creditCode"] = paramsDto.EntCode
} else if hasEntName {
reqParams["entName"] = paramsDto.EntName
} else if hasEntRegNo {
reqParams["regCode"] = paramsDto.EntRegNo
}

View File

@@ -21,26 +21,25 @@ func ProcessQYGLDJ12Request(ctx context.Context, params []byte, deps *processors
return nil, errors.Join(processors.ErrInvalidParam, err)
}
// 三选一:企业名称(entName)统一社会信用代码(creditCode)企业注册号(entRegNo) 必须且仅能传其一
// 企业名称(entName)统一社会信用代码(creditCode)企业注册号(entRegNo) 至少传其一;多填时优先用 creditCode 传参
hasEntName := paramsDto.EntName != ""
hasEntCode := paramsDto.EntCode != ""
hasEntRegNo := paramsDto.EntRegNo != ""
if hasEntName == hasEntCode == hasEntRegNo { // 三个都填或三个都未填
return nil, errors.Join(processors.ErrInvalidParam, errors.New("ent_nameent_codeent_reg_no 三选一,必须且仅能传其中一个"))
if !hasEntName && !hasEntCode && !hasEntRegNo { // 三个都未填才报错
return nil, errors.Join(processors.ErrInvalidParam, errors.New("ent_nameent_codeent_reg_no 至少需要传其中一个"))
}
// 构建数据宝入参sign 外的业务参数可按需 AES 加密后作为 bodyData
reqParams := map[string]interface{}{
"key": "112813815e2cc281ad8f552deb7a3c7f",
}
if hasEntName {
reqParams["entName"] = paramsDto.EntName
} else if hasEntCode {
if hasEntCode {
reqParams["creditCode"] = paramsDto.EntCode
} else if hasEntName {
reqParams["entName"] = paramsDto.EntName
} else if hasEntRegNo {
reqParams["regCode"] = paramsDto.EntRegNo
}
// 最终请求 URL = https://api.chinadatapay.com/communication + 拼接接口地址值,如 personal/197
apiPath := "/communication/personal/10192"
data, err := deps.ShujubaoService.CallAPI(ctx, apiPath, reqParams)