fix
This commit is contained in:
@@ -182,6 +182,8 @@ var requestProcessors = map[string]func(*ApiRequestService, []byte) ([]byte, err
|
||||
"YYSY09CD": (*ApiRequestService).ProcessYYSY09CDRequest,
|
||||
"FLXGC9D1": (*ApiRequestService).ProcessFLXGC9D1Request,
|
||||
"FLXG0687": (*ApiRequestService).ProcessFLXG0687Request,
|
||||
"FLXG9687": (*ApiRequestService).ProcessFLXG9687Request,
|
||||
"FLXG162A": (*ApiRequestService).ProcessFLXG162ARequest,
|
||||
"FLXG3D56": (*ApiRequestService).ProcessFLXG3D56Request,
|
||||
"FLXG0V4B": (*ApiRequestService).ProcesFLXG0V4BRequest,
|
||||
"QYGL8271": (*ApiRequestService).ProcessQYGL8271Request,
|
||||
@@ -631,6 +633,95 @@ 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 特殊名单
|
||||
func (a *ApiRequestService) ProcessFLXG3D56Request(params []byte) ([]byte, error) {
|
||||
name := gjson.GetBytes(params, "name")
|
||||
@@ -1202,53 +1293,37 @@ func (a *ApiRequestService) ProcessBehaviorRiskScanRequest(params []byte) ([]byt
|
||||
data []byte
|
||||
err error
|
||||
}
|
||||
results := make(chan apiResult, 2) // 2个风险检测项
|
||||
results := make(chan apiResult, 4) // 4个风险检测项
|
||||
|
||||
// 并行调用两个不同的风险检测API
|
||||
wg.Add(2)
|
||||
wg.Add(4)
|
||||
|
||||
// 黑灰产检测
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
resp, err := a.tianyuanapi.CallInterface("FLXGC9D1", map[string]interface{}{
|
||||
"name": name.String(),
|
||||
"id_card": idCard.String(),
|
||||
"mobile_no": mobile.String(),
|
||||
})
|
||||
if err != nil {
|
||||
results <- apiResult{name: "black_gray_level", data: nil, err: err}
|
||||
return
|
||||
}
|
||||
respBytes, err := a.ProcessFLXGC9D1Request(params)
|
||||
results <- apiResult{name: "black_gray_level", data: respBytes, err: err}
|
||||
}()
|
||||
|
||||
respBytes, err := convertTianyuanResponse(resp)
|
||||
if err != nil {
|
||||
results <- apiResult{name: "black_gray_level", data: nil, err: err}
|
||||
return
|
||||
}
|
||||
|
||||
results <- apiResult{name: "black_gray_level", data: respBytes, err: nil}
|
||||
// 反赌反诈
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
respBytes, err := a.ProcessFLXG0687Request(params)
|
||||
results <- apiResult{name: "anti_fraud_gaming", data: respBytes, err: err}
|
||||
}()
|
||||
|
||||
// 电诈风险预警
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
resp, err := a.tianyuanapi.CallInterface("FLXG0687", map[string]interface{}{
|
||||
"name": name.String(),
|
||||
"id_card": idCard.String(),
|
||||
"mobile_no": mobile.String(),
|
||||
})
|
||||
if err != nil {
|
||||
results <- apiResult{name: "telefraud_level", data: nil, err: err}
|
||||
return
|
||||
}
|
||||
respBytes, err := a.ProcessFLXG9687Request(params)
|
||||
results <- apiResult{name: "telefraud_level", data: respBytes, err: err}
|
||||
}()
|
||||
|
||||
respBytes, err := convertTianyuanResponse(resp)
|
||||
if err != nil {
|
||||
results <- apiResult{name: "telefraud_level", data: nil, err: err}
|
||||
return
|
||||
}
|
||||
|
||||
results <- apiResult{name: "telefraud_level", data: respBytes, err: nil}
|
||||
// 团伙欺诈
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
respBytes, err := a.ProcessFLXG162ARequest(params)
|
||||
results <- apiResult{name: "fraud_group", data: respBytes, err: err}
|
||||
}()
|
||||
|
||||
// 关闭结果通道
|
||||
|
||||
Reference in New Issue
Block a user