diff --git a/app/main/api/internal/service/apirequestService.go b/app/main/api/internal/service/apirequestService.go index 7ff69d3..7aafde2 100644 --- a/app/main/api/internal/service/apirequestService.go +++ b/app/main/api/internal/service/apirequestService.go @@ -180,10 +180,7 @@ var requestProcessors = map[string]func(*ApiRequestService, []byte) ([]byte, err "BehaviorRiskScan": (*ApiRequestService).ProcessBehaviorRiskScanRequest, "YYSYBE08": (*ApiRequestService).ProcessYYSYBE08Request, "YYSY09CD": (*ApiRequestService).ProcessYYSY09CDRequest, - "FLXGC9D1": (*ApiRequestService).ProcessFLXGC9D1Request, "FLXG0687": (*ApiRequestService).ProcessFLXG0687Request, - "FLXG9687": (*ApiRequestService).ProcessFLXG9687Request, - "FLXG162A": (*ApiRequestService).ProcessFLXG162ARequest, "FLXG3D56": (*ApiRequestService).ProcessFLXG3D56Request, "FLXG0V4B": (*ApiRequestService).ProcesFLXG0V4BRequest, "QYGL8271": (*ApiRequestService).ProcessQYGL8271Request, @@ -215,7 +212,7 @@ func (a *ApiRequestService) ProcessPersonEnterpriseProRequest(params []byte) ([] return nil, errors.New("api请求, PersonEnterprisePro, 获取相关参数失败") } - resp, err := a.tianyuanapi.CallInterface("QYGL6F2D", map[string]interface{}{ + resp, err := a.tianyuanapi.CallInterface("QYGLB4C0", map[string]interface{}{ "id_card": idCard.String(), }) if err != nil { @@ -543,15 +540,13 @@ func (a *ApiRequestService) ProcessPersonEnterpriseProRequest(params []byte) ([] func (a *ApiRequestService) ProcesFLXG0V4BRequest(params []byte) ([]byte, error) { name := gjson.GetBytes(params, "name") idCard := gjson.GetBytes(params, "id_card") - mobile := gjson.GetBytes(params, "mobile") - if !name.Exists() || !idCard.Exists() || !mobile.Exists() { + if !name.Exists() || !idCard.Exists(){ return nil, errors.New("api请求, BehaviorRiskScan, 获取相关参数失败") } resp, err := a.tianyuanapi.CallInterface("FLXG0V4B", map[string]interface{}{ "name": name.String(), "id_card": idCard.String(), - "mobile": mobile.String(), "auth_date": generateAuthDateRange(), }) if err != nil { @@ -563,57 +558,15 @@ func (a *ApiRequestService) ProcesFLXG0V4BRequest(params []byte) ([]byte, error) } return respBytes, nil } - -// ProcessFLXGC9D1Request 黑灰产 -func (a *ApiRequestService) ProcessFLXGC9D1Request(params []byte) ([]byte, error) { - name := gjson.GetBytes(params, "name") - idCard := gjson.GetBytes(params, "id_card") - mobile := gjson.GetBytes(params, "mobile") - if !name.Exists() || !idCard.Exists() || !mobile.Exists() { - return nil, errors.New("api请求, FLXGC9D1, 获取相关参数失败") - } - - resp, err := a.tianyuanapi.CallInterface("FLXGC9D1", map[string]interface{}{ - "name": name.String(), - "id_card": idCard.String(), - "mobile_no": mobile.String(), - }) - - if err != nil { - return nil, err - } - - respBytes, err := convertTianyuanResponse(resp) - if err != nil { - return nil, err - } - - flagBlackgraylevel := gjson.GetBytes(respBytes, "flag_blackgraylevel") - if !flagBlackgraylevel.Exists() || flagBlackgraylevel.String() != "1" { - return nil, fmt.Errorf("自然人黑灰产信息查询失败") - } - - bglLevel := gjson.GetBytes(respBytes, "bgl_level") - if !bglLevel.Exists() { - return nil, fmt.Errorf("bgl_level 字段不存在") - } - - return []byte(bglLevel.Raw), nil -} - // ProcessFLXG0687Request 反诈反赌核验 func (a *ApiRequestService) ProcessFLXG0687Request(params []byte) ([]byte, error) { - name := gjson.GetBytes(params, "name") idCard := gjson.GetBytes(params, "id_card") - mobile := gjson.GetBytes(params, "mobile") - if !name.Exists() || !idCard.Exists() || !mobile.Exists() { + if !idCard.Exists() { return nil, errors.New("api请求, FLXG0687, 获取相关参数失败") } resp, err := a.tianyuanapi.CallInterface("FLXG0687", map[string]interface{}{ - "name": name.String(), - "id_card": idCard.String(), - "mobile_no": mobile.String(), + "id_card": idCard.String(), }) if err != nil { @@ -633,96 +586,7 @@ func (a *ApiRequestService) ProcessFLXG0687Request(params []byte) ([]byte, error return []byte(Value.Raw), nil } -// ProcessFLXG9687Request 电诈风险预警 -func (a *ApiRequestService) ProcessFLXG9687Request(params []byte) ([]byte, error) { - name := gjson.GetBytes(params, "name") - idCard := gjson.GetBytes(params, "id_card") - mobile := gjson.GetBytes(params, "mobile") - if !name.Exists() || !idCard.Exists() || !mobile.Exists() { - return nil, errors.New("api请求, FLXG9687, 获取相关参数失败") - } - - resp, err := a.tianyuanapi.CallInterface("FLXG9687", map[string]interface{}{ - "name": name.String(), - "id_card": idCard.String(), - "mobile_no": mobile.String(), - }) - - if err != nil { - return nil, err - } - - respBytes, err := convertTianyuanResponse(resp) - if err != nil { - return nil, err - } - flagTelefraudpredictstd := gjson.GetBytes(respBytes, "flag_telefraudpredictstd") - if !flagTelefraudpredictstd.Exists() || flagTelefraudpredictstd.String() != "1" { - return nil, fmt.Errorf("自然人电诈风险预警查询失败") - } - - tfpsLevel := gjson.GetBytes(respBytes, "tfps_level") - if !tfpsLevel.Exists() { - return nil, fmt.Errorf("tfps_level 字段不存在") - } - - return []byte(tfpsLevel.Raw), nil -} - -// ProcessFLXG162ARequest 团伙欺诈 - -func (a *ApiRequestService) ProcessFLXG162ARequest(params []byte) ([]byte, error) { - name := gjson.GetBytes(params, "name") - idCard := gjson.GetBytes(params, "id_card") - mobile := gjson.GetBytes(params, "mobile") - if !name.Exists() || !idCard.Exists() || !mobile.Exists() { - return nil, errors.New("api请求, FLXG162A, 获取相关参数失败") - } - - resp, err := a.tianyuanapi.CallInterface("FLXG162A", map[string]interface{}{ - "name": name.String(), - "id_card": idCard.String(), - "mobile_no": mobile.String(), - }) - - if err != nil { - return nil, err - } - - respBytes, err := convertTianyuanResponse(resp) - if err != nil { - return nil, err - } - - flagFraudrelation := gjson.GetBytes(respBytes, "flag_fraudrelation") - if !flagFraudrelation.Exists() || flagFraudrelation.String() != "1" { - return nil, fmt.Errorf("自然人团伙欺诈排查查询失败") - } - frgListLevel := gjson.GetBytes(respBytes, "frg_list_level") - if !frgListLevel.Exists() { - return nil, fmt.Errorf("frg_list_level 字段不存在") - } - - frgGroupNum := gjson.GetBytes(respBytes, "frg_group_num") - if !frgGroupNum.Exists() { - return nil, fmt.Errorf("frg_group_num 字段不存在") - } - - // 构建包含两个字段的JSON响应 - result := map[string]interface{}{ - "frg_list_level": frgListLevel.Value(), - "frg_group_num": frgGroupNum.Value(), - } - - resultJSON, err := json.Marshal(result) - if err != nil { - return nil, fmt.Errorf("序列化结果失败: %v", err) - } - - return resultJSON, nil -} - -// ProcessFLXG3D56Request 特殊名单 +// ProcessFLXG3D56Request 违约失信 func (a *ApiRequestService) ProcessFLXG3D56Request(params []byte) ([]byte, error) { name := gjson.GetBytes(params, "name") idCard := gjson.GetBytes(params, "id_card") @@ -745,20 +609,36 @@ func (a *ApiRequestService) ProcessFLXG3D56Request(params []byte) ([]byte, error if err != nil { return nil, err } - - // 获取 code 字段 codeResult := gjson.GetBytes(respBytes, "code") - validCodes := map[string]bool{"1006": true, "1007": true, "1008": true, "1009": true, "1010": true} - if !validCodes[codeResult.String()] { - return nil, fmt.Errorf("查询手机在网时长失败, %s", string(respBytes)) + if !codeResult.Exists() { + return nil, fmt.Errorf("code 字段不存在") + } + if codeResult.String() != "00" { + return nil, fmt.Errorf("未匹配到相关结果") } - data := gjson.GetBytes(respBytes, "data") - if !data.Exists() { - return nil, fmt.Errorf("查询手机在网时长失败, %s", string(respBytes)) + // 获取 data 字段 + dataResult := gjson.GetBytes(respBytes, "data") + if !dataResult.Exists() { + return nil, fmt.Errorf("data 字段不存在") } - return []byte(data.Raw), nil + // 将 data 字段解析为 map + var dataMap map[string]interface{} + if err := json.Unmarshal([]byte(dataResult.Raw), &dataMap); err != nil { + return nil, fmt.Errorf("解析 data 字段失败: %v", err) + } + + // 删除指定字段 + delete(dataMap, "swift_number") + delete(dataMap, "DataStrategy") + + // 重新编码为 JSON + modifiedData, err := json.Marshal(dataMap) + if err != nil { + return nil, fmt.Errorf("编码修改后的 data 失败: %v", err) + } + return modifiedData, nil } // ProcessIVYZ5733Request 婚姻状况 @@ -1281,9 +1161,8 @@ func (a *ApiRequestService) ProcessYYSY09CDRequest(params []byte) ([]byte, error func (a *ApiRequestService) ProcessBehaviorRiskScanRequest(params []byte) ([]byte, error) { name := gjson.GetBytes(params, "name") idCard := gjson.GetBytes(params, "id_card") - mobile := gjson.GetBytes(params, "mobile") - if !name.Exists() || !idCard.Exists() || !mobile.Exists() { + if !name.Exists() || !idCard.Exists() { return nil, errors.New("api请求, BehaviorRiskScan, 获取相关参数失败") } @@ -1293,17 +1172,10 @@ func (a *ApiRequestService) ProcessBehaviorRiskScanRequest(params []byte) ([]byt data []byte err error } - results := make(chan apiResult, 4) // 4个风险检测项 + results := make(chan apiResult, 1) // 4个风险检测项 // 并行调用两个不同的风险检测API - wg.Add(4) - - // 黑灰产检测 - go func() { - defer wg.Done() - respBytes, err := a.ProcessFLXGC9D1Request(params) - results <- apiResult{name: "black_gray_level", data: respBytes, err: err} - }() + wg.Add(1) // 反赌反诈 go func() { @@ -1312,20 +1184,6 @@ func (a *ApiRequestService) ProcessBehaviorRiskScanRequest(params []byte) ([]byt results <- apiResult{name: "anti_fraud_gaming", data: respBytes, err: err} }() - // 电诈风险预警 - go func() { - defer wg.Done() - respBytes, err := a.ProcessFLXG9687Request(params) - results <- apiResult{name: "telefraud_level", data: respBytes, err: err} - }() - - // 团伙欺诈 - go func() { - defer wg.Done() - respBytes, err := a.ProcessFLXG162ARequest(params) - results <- apiResult{name: "fraud_group", data: respBytes, err: err} - }() - // 关闭结果通道 go func() { wg.Wait()