并发查询,优化接口速度
This commit is contained in:
parent
bbc18f56af
commit
08a70e8399
@ -563,44 +563,64 @@ func ArtistMetricsSeries(ctx *gin.Context) {
|
||||
subNum = infoResp.SubNum
|
||||
}
|
||||
|
||||
subInfoResp, err1 := service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
|
||||
SubNum: subNum,
|
||||
Domain: "app",
|
||||
})
|
||||
var subInfoResp *accountFiee.UserInfoResponse
|
||||
var subInfoErr error
|
||||
var dataListResp *cast.ArtistDataListResp
|
||||
var metricsResp *cast.ArtistMetricsSeriesResp
|
||||
var dataListErr, metricsErr error
|
||||
|
||||
if err1 != nil {
|
||||
err1 = errors.New("自媒体用户查询失败")
|
||||
service.Error(ctx, err1)
|
||||
wg := sync.WaitGroup{}
|
||||
wg.Add(3)
|
||||
|
||||
// 并行调用 SubNumGetInfo、ArtistDataList、ArtistMetricsSeries
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
subInfoResp, subInfoErr = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
|
||||
SubNum: subNum,
|
||||
Domain: "app",
|
||||
})
|
||||
}()
|
||||
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
dataListResp, dataListErr = service.CastProvider.ArtistDataList(context.Background(), &cast.ArtistDataListReq{
|
||||
SubNum: subNum,
|
||||
Page: 1,
|
||||
PageSize: 1,
|
||||
})
|
||||
}()
|
||||
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
metricsResp, metricsErr = service.CastProvider.ArtistMetricsSeries(context.Background(), req)
|
||||
}()
|
||||
|
||||
wg.Wait()
|
||||
|
||||
if subInfoErr != nil {
|
||||
service.Error(ctx, errors.New("自媒体用户查询失败"))
|
||||
return
|
||||
}
|
||||
if subInfoResp == nil || subInfoResp.Id == 0 {
|
||||
err1 = errors.New("自媒体用户不存在")
|
||||
service.Error(ctx, err1)
|
||||
service.Error(ctx, errors.New("自媒体用户不存在"))
|
||||
return
|
||||
}
|
||||
req.ArtistUUID = fmt.Sprint(subInfoResp.Id)
|
||||
newCtx := NewCtxWithUserInfo(ctx)
|
||||
|
||||
var accountConsumptionNumber int32
|
||||
var videoCount int64
|
||||
var imageCount int64
|
||||
dataListResp, err := service.CastProvider.ArtistDataList(newCtx, &cast.ArtistDataListReq{
|
||||
SubNum: subNum,
|
||||
Page: 1,
|
||||
PageSize: 1,
|
||||
})
|
||||
if err == nil && dataListResp != nil && len(dataListResp.Data) > 0 && dataListResp.Data[0] != nil {
|
||||
if dataListErr == nil && dataListResp != nil && len(dataListResp.Data) > 0 && dataListResp.Data[0] != nil {
|
||||
accountConsumptionNumber = dataListResp.Data[0].AccountConsumptionNumber
|
||||
videoCount = dataListResp.Data[0].VideoCount
|
||||
imageCount = dataListResp.Data[0].ImageCount
|
||||
}
|
||||
|
||||
resp, err := service.CastProvider.ArtistMetricsSeries(newCtx, req)
|
||||
if err != nil {
|
||||
err = errors.New("查询失败")
|
||||
service.Error(ctx, err)
|
||||
if metricsErr != nil {
|
||||
service.Error(ctx, errors.New("查询失败"))
|
||||
return
|
||||
}
|
||||
resp := metricsResp
|
||||
|
||||
raw, _ := json.Marshal(resp)
|
||||
respMap := make(map[string]interface{})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user