Merge branch 'feat-hjj-ExportBat'

This commit is contained in:
jiaji.H 2026-02-03 16:26:49 +08:00
commit b0c725a68b

View File

@ -247,35 +247,62 @@ func MetricsArtistAccountExport(ctx *gin.Context) {
func MetricsVideoSubmitExport(ctx *gin.Context) {
var req bundle.MetricsVideoSubmitExportReq
var (
resp *cast.WorkListResp
)
var err error
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
newCtx := serviceCast.NewCtxWithUserInfo(ctx)
const batchSize = 5000
var allData []*cast.WorkListResp_Info
page := int32(1)
if len(req.Month) > 0 {
resp, err = service.CastProvider.WorkList(newCtx, &cast.WorkListReq{
SubmitTimeMonths: req.Month,
Page: 1,
PageSize: 99999,
})
fmt.Printf("resp.Count: %v\n", resp.Count)
for {
resp, err := service.CastProvider.WorkList(newCtx, &cast.WorkListReq{
SubmitTimeMonths: req.Month, // 有 Month 时带上
Page: page,
PageSize: batchSize,
})
if err != nil {
service.Error(ctx, errors.New(common.MetricsVideoSubmitExportFailed))
return
}
if resp == nil || len(resp.Data) == 0 {
break
}
allData = append(allData, resp.Data...)
if len(resp.Data) < batchSize {
break
}
page++
}
} else {
resp, err = service.CastProvider.WorkList(newCtx, &cast.WorkListReq{
Page: 1,
PageSize: 99999,
})
fmt.Printf("resp.Count: %v\n", resp.Count)
for {
resp, err := service.CastProvider.WorkList(newCtx, &cast.WorkListReq{
Page: page,
PageSize: batchSize,
})
if err != nil {
service.Error(ctx, errors.New(common.MetricsVideoSubmitExportFailed))
return
}
if resp == nil || len(resp.Data) == 0 {
break
}
allData = append(allData, resp.Data...)
if len(resp.Data) < batchSize {
break
}
page++
}
}
if err != nil {
service.Error(ctx, errors.New(common.MetricsVideoSubmitExportFailed))
return
}
var loigcCastWork = new(logicCast.Work)
excelFile, err := loigcCastWork.ExportExcelWorkList(resp.Data)
excelFile, err := loigcCastWork.ExportExcelWorkList(allData)
if err != nil {
service.Error(ctx, errors.New(common.MetricsVideoSubmitExportFailed))
return