This commit is contained in:
2025-12-31 18:33:37 +08:00
parent 21194c60a8
commit dc747139c9

View File

@@ -5,14 +5,14 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"ycc-server/app/main/api/internal/config"
tianyuanapi "ycc-server/app/main/api/internal/service/tianyuanapi_sdk"
"ycc-server/app/main/model"
"sort" "sort"
"strings" "strings"
"sync" "sync"
"sync/atomic" "sync/atomic"
"time" "time"
"ycc-server/app/main/api/internal/config"
tianyuanapi "ycc-server/app/main/api/internal/service/tianyuanapi_sdk"
"ycc-server/app/main/model"
"github.com/Masterminds/squirrel" "github.com/Masterminds/squirrel"
"github.com/tidwall/gjson" "github.com/tidwall/gjson"
@@ -61,23 +61,23 @@ type APIResponseData struct {
func (a *ApiRequestService) ProcessRequests(params []byte, productID string) ([]byte, error) { func (a *ApiRequestService) ProcessRequests(params []byte, productID string) ([]byte, error) {
var ctx, cancel = context.WithCancel(context.Background()) var ctx, cancel = context.WithCancel(context.Background())
defer cancel() defer cancel()
build := a.productFeatureModel.SelectBuilder().Where(squirrel.Eq{ build := a.productFeatureModel.SelectBuilder().Where(squirrel.Eq{
"product_id": productID, "product_id": productID,
}) })
productFeatureList, findProductFeatureErr := a.productFeatureModel.FindAll(ctx, build, "") productFeatureList, findProductFeatureErr := a.productFeatureModel.FindAll(ctx, build, "")
if findProductFeatureErr != nil { if findProductFeatureErr != nil {
return nil, findProductFeatureErr return nil, findProductFeatureErr
} }
var featureIDs []string var featureIDs []string
isImportantMap := make(map[string]int64, len(productFeatureList)) isImportantMap := make(map[string]int64, len(productFeatureList))
for _, pf := range productFeatureList { for _, pf := range productFeatureList {
featureIDs = append(featureIDs, pf.FeatureId) featureIDs = append(featureIDs, pf.FeatureId)
isImportantMap[pf.FeatureId] = pf.IsImportant isImportantMap[pf.FeatureId] = pf.IsImportant
} }
if len(featureIDs) == 0 { if len(featureIDs) == 0 {
return nil, errors.New("featureIDs 是空的") return nil, errors.New("featureIDs 是空的")
} }
builder := a.featureModel.SelectBuilder().Where(squirrel.Eq{"id": featureIDs}) builder := a.featureModel.SelectBuilder().Where(squirrel.Eq{"id": featureIDs})
featureList, findFeatureErr := a.featureModel.FindAll(ctx, builder, "") featureList, findFeatureErr := a.featureModel.FindAll(ctx, builder, "")
if findFeatureErr != nil { if findFeatureErr != nil {
return nil, findFeatureErr return nil, findFeatureErr
@@ -114,7 +114,7 @@ func (a *ApiRequestService) ProcessRequests(params []byte, productID string) ([]
preprocessErr error preprocessErr error
) )
// 若 isImportantMap[feature.ID] == 1则表示需要在出错时重试 // 若 isImportantMap[feature.ID] == 1则表示需要在出错时重试
isImportant := isImportantMap[feature.Id] == 1 isImportant := isImportantMap[feature.Id] == 1
tryCount := 0 tryCount := 0
for { for {
tryCount++ tryCount++
@@ -1577,3 +1577,25 @@ func (a *ApiRequestService) ProcessIVYZ3P9MRequest(params []byte) ([]byte, error
return convertTianyuanResponse(resp) return convertTianyuanResponse(resp)
} }
// ProcessJRZQ6F2ARequest 借贷申请
func (a *ApiRequestService) ProcessJRZQ6F2ARequest(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请求, JRZQ6F2A, 获取相关参数失败")
}
resp, err := a.tianyuanapi.CallInterface("JRZQ6F2A", map[string]interface{}{
"name": name.String(),
"id_card": idCard.String(),
"mobile_no": mobile.String(),
})
if err != nil {
return nil, err
}
return convertTianyuanResponse(resp)
}