This commit is contained in:
Mrx
2026-03-21 18:56:30 +08:00
parent 040f6eef65
commit a96c153286
2 changed files with 50 additions and 22 deletions

View File

@@ -47,7 +47,7 @@ func ProcessYYSYBE08Request(ctx context.Context, params []byte, deps *processors
return nil, errors.Join(processors.ErrSystem, aerr)
}
var aliyunData struct {
Result int `json:"result"`
Result *int `json:"result"`
Desc string `json:"desc"`
}
if err := json.Unmarshal(dataBytes, &aliyunData); err != nil {
@@ -66,21 +66,14 @@ func ProcessYYSYBE08Request(ctx context.Context, params []byte, deps *processors
}
var resultCode, verifyResult, resultMsg string
switch aliyunData.Result {
case 0:
switch {
case aliyunData.Result != nil && *aliyunData.Result == 0:
resultCode = "0XXX"
verifyResult = "一致"
resultMsg = aliyunData.Desc
if resultMsg == "" {
resultMsg = "成功"
}
case 1:
resultCode = "5XXX"
verifyResult = "不一致"
resultMsg = aliyunData.Desc
if resultMsg == "" {
resultMsg = "不一致"
}
default:
resultCode = "5XXX"
verifyResult = "不一致"
@@ -108,7 +101,7 @@ func ProcessYYSYBE08Request(ctx context.Context, params []byte, deps *processors
// 解析数脉 /v4/id_card/check 的 data 内容CallAPIForm 返回的即 data 对象)
// 数卖响应: result 0-一致 1-不一致 2-无记录(预留); desc 如 "一致"/"不一致"
var shumaiData struct {
Result int `json:"result"`
Result *int `json:"result"`
OrderNo string `json:"order_no"`
Desc string `json:"desc"`
Sex string `json:"sex"`
@@ -135,21 +128,14 @@ func ProcessYYSYBE08Request(ctx context.Context, params []byte, deps *processors
// 按数卖 result 验证结果处理: 0-一致 1-不一致 2-无记录(预留)
// resultCode: 0XXX=一致, 5XXX=不一致/无记录
var resultCode, verifyResult, resultMsg string
switch shumaiData.Result {
case 0: // 一致(收费)
switch {
case shumaiData.Result != nil && *shumaiData.Result == 0: // 一致(收费)
resultCode = "0XXX"
verifyResult = "一致"
resultMsg = shumaiData.Desc
if resultMsg == "" {
resultMsg = "成功"
}
case 1: // 不一致(收费)
resultCode = "5XXX"
verifyResult = "不一致"
resultMsg = shumaiData.Desc
if resultMsg == "" {
resultMsg = "不一致"
}
default:
resultCode = "5XXX"
verifyResult = "不一致"

View File

@@ -9,7 +9,7 @@ import (
"tyapi-server/internal/domains/api/services/processors"
)
// ProcessYYSYBE08testRequest 与 YYSYBE08 相同入参,底层使用阿里云市场身份证二要素校验;响应为阿里云接口 data不做字段映射
// ProcessYYSYBE08testRequest 与 YYSYBE08 相同入参,底层使用阿里云市场身份证二要素校验;响应映射为 ctidRequest.ctidAuth 格式
func ProcessYYSYBE08testRequest(ctx context.Context, params []byte, deps *processors.ProcessorDependencies) ([]byte, error) {
var paramsDto dto.YYSYBE08Req
if err := json.Unmarshal(params, &paramsDto); err != nil {
@@ -20,7 +20,49 @@ func ProcessYYSYBE08testRequest(ctx context.Context, params []byte, deps *proces
return nil, errors.Join(processors.ErrInvalidParam, err)
}
return callAliyunIDCardCheckRaw(ctx, deps, paramsDto.Name, paramsDto.IDCard)
respBytes, err := callAliyunIDCardCheckRaw(ctx, deps, paramsDto.Name, paramsDto.IDCard)
if err != nil {
return nil, err
}
var aliyunData struct {
Result *int `json:"result"`
Desc string `json:"desc"`
}
if err := json.Unmarshal(respBytes, &aliyunData); err != nil {
return nil, errors.Join(processors.ErrSystem, err)
}
var resultCode, verifyResult, resultMsg string
switch {
case aliyunData.Result != nil && *aliyunData.Result == 0:
resultCode = "0XXX"
verifyResult = "一致"
resultMsg = aliyunData.Desc
if resultMsg == "" {
resultMsg = "成功"
}
default:
resultCode = "5XXX"
verifyResult = "不一致"
resultMsg = aliyunData.Desc
if resultMsg == "" {
resultMsg = "不一致"
}
}
response := map[string]interface{}{
"ctidRequest": map[string]interface{}{
"ctidAuth": map[string]interface{}{
"idCard": paramsDto.IDCard,
"name": paramsDto.Name,
"resultCode": resultCode,
"resultMsg": resultMsg,
"verifyResult": verifyResult,
},
},
}
return json.Marshal(response)
}
// callAliyunIDCardCheckRaw POST api-mall/api/id_card/checkform: name、idcard返回响应 data供 YYSYBE08TEST 与 YYSYBE08 数脉失败兜底共用