This commit is contained in:
Mrx
2026-03-21 18:51:51 +08:00
parent 947a983c67
commit 040f6eef65
2 changed files with 58 additions and 53 deletions

View File

@@ -46,7 +46,62 @@ func ProcessYYSYBE08Request(ctx context.Context, params []byte, deps *processors
}
return nil, errors.Join(processors.ErrSystem, aerr)
}
return dataBytes, nil
var aliyunData struct {
Result int `json:"result"`
Desc string `json:"desc"`
}
if err := json.Unmarshal(dataBytes, &aliyunData); err != nil {
errorResponse := map[string]interface{}{
"ctidRequest": map[string]interface{}{
"ctidAuth": map[string]interface{}{
"idCard": paramsDto.IDCard,
"name": paramsDto.Name,
"resultCode": "500",
"resultMsg": "响应解析失败",
"verifyResult": "",
},
},
}
return json.Marshal(errorResponse)
}
var resultCode, verifyResult, resultMsg string
switch aliyunData.Result {
case 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 = "不一致"
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)
}
}

View File

@@ -9,7 +9,7 @@ import (
"tyapi-server/internal/domains/api/services/processors"
)
// ProcessYYSYBE08testRequest 与 YYSYBE08 相同入参,底层使用阿里云市场身份证二要素校验;响应映射为 ctidRequest.ctidAuth 格式
// ProcessYYSYBE08testRequest 与 YYSYBE08 相同入参,底层使用阿里云市场身份证二要素校验;响应为阿里云接口 data不做字段映射
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,57 +20,7 @@ func ProcessYYSYBE08testRequest(ctx context.Context, params []byte, deps *proces
return nil, errors.Join(processors.ErrInvalidParam, err)
}
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 aliyunData.Result {
case 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 = "不一致"
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)
return callAliyunIDCardCheckRaw(ctx, deps, paramsDto.Name, paramsDto.IDCard)
}
// callAliyunIDCardCheckRaw POST api-mall/api/id_card/checkform: name、idcard返回响应 data供 YYSYBE08TEST 与 YYSYBE08 数脉失败兜底共用