修改获取指标一个接口,获取历史某一个时刻的发布视频数和图文数

This commit is contained in:
cjy 2026-03-10 10:07:04 +08:00
parent e15ceb971a
commit 328464f45d

View File

@ -565,14 +565,14 @@ func ArtistMetricsSeries(ctx *gin.Context) {
var subInfoResp *accountFiee.UserInfoResponse
var subInfoErr error
var dataListResp *cast.ArtistDataListResp
var workStatsResp *cast.GetArtistWorkStatsResp
var metricsResp *cast.ArtistMetricsSeriesResp
var dataListErr, metricsErr error
var workStatsErr, metricsErr error
wg := sync.WaitGroup{}
wg.Add(3)
wg.Add(2)
// 并行调用 SubNumGetInfo、ArtistDataList、ArtistMetricsSeries
// 并行调用 SubNumGetInfo、ArtistMetricsSeries
go func() {
defer wg.Done()
subInfoResp, subInfoErr = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
@ -581,15 +581,6 @@ func ArtistMetricsSeries(ctx *gin.Context) {
})
}()
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)
@ -607,13 +598,30 @@ func ArtistMetricsSeries(ctx *gin.Context) {
}
req.ArtistUUID = fmt.Sprint(subInfoResp.Id)
// 将 ArtistMetricsSeriesReq 中 int 类型日期YYYYMMDD格式化为时间字符串作为快照截止时间
statusUpdateTime := ""
if req.Date > 0 {
parsedDate, parseErr := time.Parse("20060102", strconv.Itoa(int(req.Date)))
if parseErr == nil {
statusUpdateTime = parsedDate.Add(17 * time.Hour).Format("2006-01-02 15:04:05")
}
}
newCtx := NewCtxWithUserInfo(ctx)
workStatsResp, workStatsErr = service.CastProvider.GetArtistWorkStats(newCtx, &cast.GetArtistWorkStatsReq{
ArtistUuid: req.ArtistUUID,
StatusUpdateTime: statusUpdateTime,
})
var accountConsumptionNumber int32
var videoCount int64
var imageCount int64
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
if workStatsErr == nil && workStatsResp != nil {
accountConsumptionNumber = int32(workStatsResp.AccountCount)
videoCount = workStatsResp.VideoCount
imageCount = workStatsResp.ImageCount
} else if workStatsErr != nil {
zap.L().Warn("GetArtistWorkStats failed", zap.Error(workStatsErr), zap.String("artistUUID", req.ArtistUUID), zap.String("statusUpdateTime", statusUpdateTime))
}
if metricsErr != nil {