new fieature
This commit is contained in:
parent
b995855180
commit
594c238a99
@ -1867,11 +1867,42 @@ func (a *ApiRequestService) ProcessG09XM02Request(params []byte) ([]byte, error)
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
resp, err := a.westDexService.CallAPI("G09XM02", request)
|
resp, err := a.westDexService.CallAPI("G09XM02", request)
|
||||||
if err != nil {
|
if err != nil && resp == nil {
|
||||||
return nil, fmt.Errorf("婚姻状态查询失败: %v", err)
|
return nil, fmt.Errorf("婚姻状态查询失败: %v", err)
|
||||||
}
|
}
|
||||||
// gjson.GetBytes(resp, "maritalStatus")
|
result := gjson.GetBytes(resp, "data.data")
|
||||||
return resp, nil
|
if !result.Exists() {
|
||||||
|
return nil, fmt.Errorf("婚姻状态查询失败")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取原始结果
|
||||||
|
rawResult := result.String()
|
||||||
|
|
||||||
|
// 根据结果转换状态码
|
||||||
|
var statusCode string
|
||||||
|
switch {
|
||||||
|
case strings.HasPrefix(rawResult, "INR"):
|
||||||
|
statusCode = "0" // 匹配不成功
|
||||||
|
case strings.HasPrefix(rawResult, "IA"):
|
||||||
|
statusCode = "1" // 结婚
|
||||||
|
case strings.HasPrefix(rawResult, "IB"):
|
||||||
|
statusCode = "2" // 离婚
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("婚姻状态查询失败,未知状态码: %s", statusCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建新的返回结果
|
||||||
|
response := map[string]string{
|
||||||
|
"status": statusCode,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 序列化为JSON
|
||||||
|
jsonResponse, err := json.Marshal(response)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("序列化结果失败: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return jsonResponse, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ApiRequestService) ProcessG10XM02Request(params []byte) ([]byte, error) {
|
func (a *ApiRequestService) ProcessG10XM02Request(params []byte) ([]byte, error) {
|
||||||
@ -1898,11 +1929,43 @@ func (a *ApiRequestService) ProcessG10XM02Request(params []byte) ([]byte, error)
|
|||||||
|
|
||||||
// 调用 API
|
// 调用 API
|
||||||
resp, callApiErr := a.westDexService.CallAPI("G10XM02", request)
|
resp, callApiErr := a.westDexService.CallAPI("G10XM02", request)
|
||||||
if callApiErr != nil {
|
if callApiErr != nil && resp == nil {
|
||||||
return nil, callApiErr
|
return nil, callApiErr
|
||||||
}
|
}
|
||||||
|
|
||||||
return resp, nil
|
result := gjson.GetBytes(resp, "data.data")
|
||||||
|
if !result.Exists() {
|
||||||
|
return nil, fmt.Errorf("婚姻状态查询失败")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取原始结果
|
||||||
|
rawResult := result.String()
|
||||||
|
|
||||||
|
// 根据结果转换状态码
|
||||||
|
var statusCode string
|
||||||
|
switch {
|
||||||
|
case strings.HasPrefix(rawResult, "INR"):
|
||||||
|
statusCode = "0" // 匹配不成功
|
||||||
|
case strings.HasPrefix(rawResult, "IA"):
|
||||||
|
statusCode = "1" // 结婚
|
||||||
|
case strings.HasPrefix(rawResult, "IB"):
|
||||||
|
statusCode = "2" // 离婚
|
||||||
|
default:
|
||||||
|
return nil, fmt.Errorf("婚姻状态查询失败,未知状态码: %s", statusCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建新的返回结果
|
||||||
|
response := map[string]string{
|
||||||
|
"status": statusCode,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 序列化为JSON
|
||||||
|
jsonResponse, err := json.Marshal(response)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("序列化结果失败: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return jsonResponse, nil
|
||||||
}
|
}
|
||||||
func (a *ApiRequestService) ProcessG11BJ06Request(params []byte) ([]byte, error) {
|
func (a *ApiRequestService) ProcessG11BJ06Request(params []byte) ([]byte, error) {
|
||||||
idCard := gjson.GetBytes(params, "id_card")
|
idCard := gjson.GetBytes(params, "id_card")
|
||||||
@ -1917,10 +1980,58 @@ func (a *ApiRequestService) ProcessG11BJ06Request(params []byte) ([]byte, error)
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
resp, err := a.westDexService.CallAPI("G11BJ06", request)
|
resp, err := a.westDexService.CallAPI("G11BJ06", request)
|
||||||
if err != nil {
|
if err != nil && resp == nil {
|
||||||
return nil, fmt.Errorf("教育经历核验查询失败: %v", err)
|
return nil, fmt.Errorf("教育经历核验查询失败: %v", err)
|
||||||
}
|
}
|
||||||
return resp, nil
|
|
||||||
|
// 解析响应
|
||||||
|
codeResult := gjson.GetBytes(resp, "data.education_background.code")
|
||||||
|
if !codeResult.Exists() {
|
||||||
|
return nil, fmt.Errorf("教育经历核验查询失败: 返回数据缺少code字段")
|
||||||
|
}
|
||||||
|
|
||||||
|
code := codeResult.String()
|
||||||
|
|
||||||
|
var result map[string]interface{}
|
||||||
|
|
||||||
|
switch code {
|
||||||
|
case "9100":
|
||||||
|
// 查询成功有结果
|
||||||
|
eduResultArray := gjson.GetBytes(resp, "data.education_background.data").Array()
|
||||||
|
var processedEduData []interface{}
|
||||||
|
|
||||||
|
// 提取每个元素中Raw字段的实际内容
|
||||||
|
for _, item := range eduResultArray {
|
||||||
|
var eduInfo interface{}
|
||||||
|
if err := json.Unmarshal([]byte(item.Raw), &eduInfo); err != nil {
|
||||||
|
return nil, fmt.Errorf("解析教育信息失败: %v", err)
|
||||||
|
}
|
||||||
|
processedEduData = append(processedEduData, eduInfo)
|
||||||
|
}
|
||||||
|
|
||||||
|
result = map[string]interface{}{
|
||||||
|
"data": processedEduData,
|
||||||
|
"status": 1,
|
||||||
|
}
|
||||||
|
case "9000":
|
||||||
|
// 查询成功无结果
|
||||||
|
result = map[string]interface{}{
|
||||||
|
"data": []interface{}{},
|
||||||
|
"status": 0,
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
// 其他情况视为错误
|
||||||
|
errMsg := gjson.GetBytes(resp, "data.education_background.msg").String()
|
||||||
|
return nil, fmt.Errorf("教育经历核验查询失败: %s (code: %s)", errMsg, code)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将结果转为JSON字节
|
||||||
|
jsonResult, err := json.Marshal(result)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("处理教育经历查询结果失败: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return jsonResult, nil
|
||||||
}
|
}
|
||||||
func (a *ApiRequestService) ProcessG29BJ05Request(params []byte) ([]byte, error) {
|
func (a *ApiRequestService) ProcessG29BJ05Request(params []byte) ([]byte, error) {
|
||||||
idCard := gjson.GetBytes(params, "id_card")
|
idCard := gjson.GetBytes(params, "id_card")
|
||||||
|
Loading…
Reference in New Issue
Block a user