From 46cc32a4d4df63c8832be1dbba82fd0b7b59cb62 Mon Sep 17 00:00:00 2001 From: cjy Date: Tue, 10 Mar 2026 16:38:18 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=BC=98=E5=8C=96=E4=B8=80?= =?UTF-8?q?=E4=B8=8B=EF=BC=8C=E6=8C=89=E7=85=A7=E4=B8=AA=E6=80=A7=E5=8C=96?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E5=AE=9E=E7=8E=B0=E5=88=B7=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/cast/analysis.go | 38 ++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/pkg/service/cast/analysis.go b/pkg/service/cast/analysis.go index 2650c2d3..9a63d885 100644 --- a/pkg/service/cast/analysis.go +++ b/pkg/service/cast/analysis.go @@ -144,8 +144,9 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { newCtx := NewCtxWithUserInfo(ctx) - // 在 J1 写入表头 - _ = excelData.SetCellValue("Sheet1", "J1", "结果") + // 写入表头 + _ = excelData.SetCellValue("Sheet1", "J1", "DateInt") + _ = excelData.SetCellValue("Sheet1", "K1", "结果") successCount := 0 @@ -158,7 +159,7 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { } // Excel 行号(1-based),line=1 → 行号 2 - cellJ := fmt.Sprintf("J%d", line+1) + cellK := fmt.Sprintf("K%d", line+1) // 第一列:SubNum subNum := "" @@ -166,7 +167,7 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { subNum = utils.CleanString(row[0]) } if subNum == "" { - _ = excelData.SetCellValue("Sheet1", cellJ, "SubNum 不能为空") + _ = excelData.SetCellValue("Sheet1", cellK, "SubNum 不能为空") continue } @@ -223,6 +224,13 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { isRefreshData = true } + // 第十列:DateInt(YYYYMMDD 格式,直接从 Excel 读取) + var dateInt int32 + if len(row) > 9 && utils.CleanString(row[9]) != "" { + v, _ := strconv.ParseInt(utils.CleanString(row[9]), 10, 32) + dateInt = int32(v) + } + // 根据 subNum 查询艺人信息 subInfoResp, err := service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ SubNum: subNum, @@ -230,11 +238,11 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { }) if err != nil { zap.L().Error("ImportWorkAnalysisBatch SubNumGetInfo", zap.Error(err), zap.String("subNum", subNum)) - _ = excelData.SetCellValue("Sheet1", cellJ, fmt.Sprintf("自媒体用户查询失败:%s", err.Error())) + _ = excelData.SetCellValue("Sheet1", cellK, fmt.Sprintf("自媒体用户查询失败:%s", err.Error())) continue } if subInfoResp == nil || subInfoResp.Id == 0 { - _ = excelData.SetCellValue("Sheet1", cellJ, "自媒体用户不存在") + _ = excelData.SetCellValue("Sheet1", cellK, "自媒体用户不存在") continue } @@ -246,11 +254,11 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { }) if err != nil { zap.L().Error("ImportWorkAnalysisBatch GetBundleBalanceByUserId", zap.Error(err), zap.Uint64("artistID", artistID)) - _ = excelData.SetCellValue("Sheet1", cellJ, fmt.Sprintf("获取套餐订单失败:%s", err.Error())) + _ = excelData.SetCellValue("Sheet1", cellK, fmt.Sprintf("获取套餐订单失败:%s", err.Error())) continue } if balanceResp.OrderUUID == "" { - _ = excelData.SetCellValue("Sheet1", cellJ, "订单不存在") + _ = excelData.SetCellValue("Sheet1", cellK, "订单不存在") continue } @@ -269,14 +277,6 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { } } - // 将 submitTime 解析为 YYYYMMDD 格式的 int32,作为 ArtistMetricsSeries 的 date - var dateInt int32 - if submitTime != "" { - if parsedTime, parseErr := time.Parse("2006-01-02 15:04:05", submitTime); parseErr == nil { - dateInt = int32(parsedTime.Year()*10000 + int(parsedTime.Month())*100 + parsedTime.Day()) - } - } - // 提升到外部作用域,供 importReq 使用 var aiAnalysis string var mediaAccountCount int32 @@ -369,12 +369,12 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) { importResp, err := service.CastProvider.ImportWorkAnalysis(newCtx, importReq) if err != nil { zap.L().Error("ImportWorkAnalysisBatch ImportWorkAnalysis", zap.Error(err), zap.String("subNum", subNum)) - _ = excelData.SetCellValue("Sheet1", cellJ, fmt.Sprintf("导入失败:%s", err.Error())) + _ = excelData.SetCellValue("Sheet1", cellK, fmt.Sprintf("导入失败:%s", err.Error())) continue } - // 导入成功,将返回的 UUID 写入 J 列 - _ = excelData.SetCellValue("Sheet1", cellJ, importResp.Uuid) + // 导入成功,将返回的 UUID 写入 K 列 + _ = excelData.SetCellValue("Sheet1", cellK, importResp.Uuid) successCount++ }