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