新增新接口

This commit is contained in:
2025-03-20 02:03:28 +08:00
parent b1375f0343
commit 115a67f537
16 changed files with 1295 additions and 171 deletions

View File

@@ -5,10 +5,6 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/Masterminds/squirrel"
"github.com/bytedance/sonic"
"github.com/tidwall/gjson"
"github.com/zeromicro/go-zero/core/logx"
"io"
"net/http"
"net/url"
@@ -20,6 +16,11 @@ import (
"sync"
"sync/atomic"
"time"
"github.com/Masterminds/squirrel"
"github.com/bytedance/sonic"
"github.com/tidwall/gjson"
"github.com/zeromicro/go-zero/core/logx"
)
type ApiRequestService struct {
@@ -201,6 +202,17 @@ var requestProcessors = map[string]func(*ApiRequestService, []byte) ([]byte, err
"G36SC01": (*ApiRequestService).ProcessG36SC01Request,
"G22SC01": (*ApiRequestService).ProcessG22SC01Request,
"Q03SC01": (*ApiRequestService).ProcessQ03SC01Request,
"COM187": (*ApiRequestService).ProcessCOM187Request,
"MOB035": (*ApiRequestService).ProcessMOB035Request,
"PCB915": (*ApiRequestService).ProcessPCB915Request,
"RIS031": (*ApiRequestService).ProcessRIS031Request,
"PCB601": (*ApiRequestService).ProcessPCB601Request,
"PCB148": (*ApiRequestService).ProcessPCB148Request,
"FIN011": (*ApiRequestService).ProcessFIN011Request,
"FIN020": (*ApiRequestService).ProcessFIN020Request,
"FIN018": (*ApiRequestService).ProcessFIN018Request,
"MOB032": (*ApiRequestService).ProcessMOB032Request,
"FIN032": (*ApiRequestService).ProcessFIN032Request,
}
// PreprocessRequestApi 调用指定的请求处理函数
@@ -1204,3 +1216,212 @@ func (a *ApiRequestService) ProcessQ03SC01Request(params []byte) ([]byte, error)
}
return marshal, nil
}
// 出境限制查询
func (a *ApiRequestService) ProcessCOM187Request(params []byte) ([]byte, error) {
name := gjson.GetBytes(params, "name")
if !name.Exists() {
return nil, errors.New("api请求, COM187, 获取相关参数失败")
}
request := map[string]interface{}{
"keyword": name.String(),
}
resp, err := a.yushanService.request("COM187", request)
if err != nil {
return nil, fmt.Errorf("出境限制查询失败: %+v", err)
}
return resp, nil
}
// 手机月消费档次查询
func (a *ApiRequestService) ProcessMOB035Request(params []byte) ([]byte, error) {
mobile := gjson.GetBytes(params, "mobile")
if !mobile.Exists() {
return nil, errors.New("api请求, MOB035, 获取相关参数失败")
}
request := map[string]interface{}{
"mobile": mobile.String(),
}
resp, err := a.yushanService.request("MOB035", request)
if err != nil {
return nil, fmt.Errorf("手机月消费档次查询失败: %+v", err)
}
return resp, nil
}
// 学历信息验证
func (a *ApiRequestService) ProcessPCB915Request(params []byte) ([]byte, error) {
name := gjson.GetBytes(params, "name")
idCard := gjson.GetBytes(params, "id_card")
certificateNumber := gjson.GetBytes(params, "certificate_number")
if !name.Exists() || !idCard.Exists() || !certificateNumber.Exists() {
return nil, errors.New("api请求, PCB915, 获取相关参数失败")
}
request := map[string]interface{}{
"name": name.String(),
"cardNo": idCard.String(),
"certificateNo": certificateNumber.String(),
}
resp, err := a.yushanService.request("PCB915", request)
if err != nil {
return nil, fmt.Errorf("学历信息验证失败: %+v", err)
}
return resp, nil
}
// 反诈反赌风险核验
func (a *ApiRequestService) ProcessRIS031Request(params []byte) ([]byte, error) {
keyword := gjson.GetBytes(params, "keyword")
typeName := gjson.GetBytes(params, "type")
if !keyword.Exists() || !typeName.Exists() {
return nil, errors.New("api请求, RIS031, 获取相关参数失败")
}
request := map[string]interface{}{
"keyWord": keyword.String(),
"type": typeName.Int(),
}
resp, err := a.yushanService.request("RIS031", request)
if err != nil {
return nil, fmt.Errorf("反诈反赌风险核验失败: %+v", err)
}
return resp, nil
}
// 手机号空号检测
func (a *ApiRequestService) ProcessPCB601Request(params []byte) ([]byte, error) {
mobile := gjson.GetBytes(params, "mobile")
if !mobile.Exists() {
return nil, errors.New("api请求, PCB601, 获取相关参数失败")
}
request := map[string]interface{}{
"mobile": mobile.String(),
}
resp, err := a.yushanService.request("PCB601", request)
if err != nil {
return nil, fmt.Errorf("手机号空号检测失败: %+v", err)
}
return resp, nil
}
// 银行卡归属地查询
func (a *ApiRequestService) ProcessPCB148Request(params []byte) ([]byte, error) {
bankCard := gjson.GetBytes(params, "bank_card")
if !bankCard.Exists() {
return nil, errors.New("api请求, PCB148, 获取相关参数失败")
}
request := map[string]interface{}{
"cardId": bankCard.String(),
}
resp, err := a.yushanService.request("PCB148", request)
if err != nil {
return nil, fmt.Errorf("银行卡归属地查询失败: %+v", err)
}
return resp, nil
}
// 银行卡姓名二要素验证
func (a *ApiRequestService) ProcessFIN011Request(params []byte) ([]byte, error) {
name := gjson.GetBytes(params, "name")
bankCard := gjson.GetBytes(params, "bank_card")
if !name.Exists() || !bankCard.Exists() {
return nil, errors.New("api请求, FIN011, 获取相关参数失败")
}
request := map[string]interface{}{
"name": name.String(),
"cardId": bankCard.String(),
}
resp, err := a.yushanService.request("FIN011", request)
if err != nil {
return nil, fmt.Errorf("银行卡姓名二要素验证失败: %+v", err)
}
return resp, nil
}
// 银行卡号码二要素验证
func (a *ApiRequestService) ProcessFIN020Request(params []byte) ([]byte, error) {
idCard := gjson.GetBytes(params, "id_card")
bankCard := gjson.GetBytes(params, "bank_card")
if !idCard.Exists() || !bankCard.Exists() {
return nil, errors.New("api请求, FIN020, 获取相关参数失败")
}
request := map[string]interface{}{
"cardNo": idCard.String(),
"cardId": bankCard.String(),
}
resp, err := a.yushanService.request("FIN020", request)
if err != nil {
return nil, fmt.Errorf("银行卡号码二要素验证失败: %+v", err)
}
return resp, nil
}
// 银行卡三要素综合验证
func (a *ApiRequestService) ProcessFIN018Request(params []byte) ([]byte, error) {
name := gjson.GetBytes(params, "name")
idCard := gjson.GetBytes(params, "id_card")
bankCard := gjson.GetBytes(params, "bank_card")
if !name.Exists() || !idCard.Exists() || !bankCard.Exists() {
return nil, errors.New("api请求, FIN018, 获取相关参数失败")
}
request := map[string]interface{}{
"name": name.String(),
"cardNo": idCard.String(),
"cardId": bankCard.String(),
}
resp, err := a.yushanService.request("FIN018", request)
if err != nil {
return nil, fmt.Errorf("银行卡三要素综合验证失败: %+v", err)
}
return resp, nil
}
// 手机号码风险评估
func (a *ApiRequestService) ProcessMOB032Request(params []byte) ([]byte, error) {
mobile := gjson.GetBytes(params, "mobile")
if !mobile.Exists() {
return nil, errors.New("api请求, MOB032, 获取相关参数失败")
}
request := map[string]interface{}{
"mobile": mobile.String(),
}
resp, err := a.yushanService.request("MOB032", request)
if err != nil {
return nil, fmt.Errorf("手机号码风险评估失败: %+v", err)
}
return resp, nil
}
// 手机号贩毒反诈风险查询
func (a *ApiRequestService) ProcessFIN032Request(params []byte) ([]byte, error) {
keyword := gjson.GetBytes(params, "keyword")
typeName := gjson.GetBytes(params, "type")
if !keyword.Exists() || !typeName.Exists() {
return nil, errors.New("api请求, FIN032, 获取相关参数失败")
}
request := map[string]interface{}{
"keyWord": keyword.String(),
"type": typeName.Int(),
}
resp, err := a.yushanService.request("FIN032", request)
if err != nil {
return nil, fmt.Errorf("手机号贩毒反诈风险查询失败: %+v", err)
}
return resp, nil
}