feat:优化一下,按照个性化需求实现刷数据

This commit is contained in:
cjy 2026-03-10 16:38:18 +08:00
parent 7b398e9948
commit 488d293282

View File

@ -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-basedline=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
}
// 第十列DateIntYYYYMMDD 格式,直接从 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++
}