feat: 增加艺人是否自动确定

This commit is contained in:
cjy 2026-03-11 14:01:15 +08:00
parent b8d75df6e5
commit d6022cbc5a
4 changed files with 2310 additions and 2268 deletions

File diff suppressed because it is too large Load Diff

View File

@ -11291,6 +11291,8 @@ func (m *ImportWorkAnalysisReq) validate(all bool) error {
// no validation rules for IsRefreshData
// no validation rules for ConfirmType
if len(errors) > 0 {
return ImportWorkAnalysisReqMultiError(errors)
}
@ -26262,6 +26264,8 @@ func (m *ImportCompetitiveReportHistoryReq) validate(all bool) error {
// no validation rules for Title
// no validation rules for ConfirmType
if len(errors) > 0 {
return ImportCompetitiveReportHistoryReqMultiError(errors)
}

View File

@ -146,7 +146,8 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
// 写入表头
_ = excelData.SetCellValue("Sheet1", "J1", "DateInt")
_ = excelData.SetCellValue("Sheet1", "K1", "结果")
_ = excelData.SetCellValue("Sheet1", "K1", "ConfirmType")
_ = excelData.SetCellValue("Sheet1", "L1", "结果")
successCount := 0
@ -159,7 +160,7 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
}
// Excel 行号1-basedline=1 → 行号 2
cellK := fmt.Sprintf("K%d", line+1)
cellL := fmt.Sprintf("L%d", line+1)
// 第一列SubNum
subNum := ""
@ -167,7 +168,7 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
subNum = utils.CleanString(row[0])
}
if subNum == "" {
_ = excelData.SetCellValue("Sheet1", cellK, "SubNum 不能为空")
_ = excelData.SetCellValue("Sheet1", cellL, "SubNum 不能为空")
continue
}
@ -231,6 +232,13 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
dateInt = int32(v)
}
// 第十一列ConfirmType1 艺人确认2 系统自动确认)
var confirmType int32
if len(row) > 10 && utils.CleanString(row[10]) != "" {
v, _ := strconv.ParseInt(utils.CleanString(row[10]), 10, 32)
confirmType = int32(v)
}
// 根据 subNum 查询艺人信息
subInfoResp, err := service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
SubNum: subNum,
@ -238,11 +246,11 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
})
if err != nil {
zap.L().Error("ImportWorkAnalysisBatch SubNumGetInfo", zap.Error(err), zap.String("subNum", subNum))
_ = excelData.SetCellValue("Sheet1", cellK, fmt.Sprintf("自媒体用户查询失败:%s", err.Error()))
_ = excelData.SetCellValue("Sheet1", cellL, fmt.Sprintf("自媒体用户查询失败:%s", err.Error()))
continue
}
if subInfoResp == nil || subInfoResp.Id == 0 {
_ = excelData.SetCellValue("Sheet1", cellK, "自媒体用户不存在")
_ = excelData.SetCellValue("Sheet1", cellL, "自媒体用户不存在")
continue
}
@ -254,11 +262,11 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
})
if err != nil {
zap.L().Error("ImportWorkAnalysisBatch GetBundleBalanceByUserId", zap.Error(err), zap.Uint64("artistID", artistID))
_ = excelData.SetCellValue("Sheet1", cellK, fmt.Sprintf("获取套餐订单失败:%s", err.Error()))
_ = excelData.SetCellValue("Sheet1", cellL, fmt.Sprintf("获取套餐订单失败:%s", err.Error()))
continue
}
if balanceResp.OrderUUID == "" {
_ = excelData.SetCellValue("Sheet1", cellK, "订单不存在")
_ = excelData.SetCellValue("Sheet1", cellL, "订单不存在")
continue
}
@ -364,17 +372,18 @@ func ImportWorkAnalysisBatch(ctx *gin.Context) {
MostActiveDay: 1,
BestPostTime: 1,
Date: dateInt,
ConfirmType: confirmType,
}
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", cellK, fmt.Sprintf("导入失败:%s", err.Error()))
_ = excelData.SetCellValue("Sheet1", cellL, fmt.Sprintf("导入失败:%s", err.Error()))
continue
}
// 导入成功,将返回的 UUID 写入 K
_ = excelData.SetCellValue("Sheet1", cellK, importResp.Uuid)
// 导入成功,将返回的 UUID 写入 L
_ = excelData.SetCellValue("Sheet1", cellL, importResp.Uuid)
successCount++
}

View File

@ -1492,7 +1492,7 @@ func ImportPdfBatch(ctx *gin.Context) {
}
// ImportCompetitiveReportHistoryBatch 通过 Excel 批量刷写竞品报告历史数据
// Excel 列顺序ReportUuid | Title可为空| SubmitTime | 结果(空,由接口写入)
// Excel 列顺序ReportUuid | Title可为空| SubmitTime | ConfirmType | 结果(空,由接口写入)
func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
excelFile, err := ctx.FormFile("file")
if err != nil {
@ -1538,8 +1538,9 @@ func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
newCtx := NewCtxWithUserInfo(ctx)
// 写入表头(第 4 列)
_ = excelData.SetCellValue("Sheet1", "D1", "结果")
// 写入表头(第 4 列 ConfirmType第 5 列 结果)
_ = excelData.SetCellValue("Sheet1", "D1", "ConfirmType")
_ = excelData.SetCellValue("Sheet1", "E1", "结果")
successCount := 0
@ -1552,7 +1553,7 @@ func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
}
// Excel 行号1-basedline=1 → 行号 2
cellD := fmt.Sprintf("D%d", line+1)
cellE := fmt.Sprintf("E%d", line+1)
// 第一列ReportUuid
reportUuid := ""
@ -1560,7 +1561,7 @@ func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
reportUuid = utils.CleanString(row[0])
}
if reportUuid == "" {
_ = excelData.SetCellValue("Sheet1", cellD, "ReportUuid 不能为空")
_ = excelData.SetCellValue("Sheet1", cellE, "ReportUuid 不能为空")
continue
}
@ -1576,6 +1577,13 @@ func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
submitTime = row[2]
}
// 第四列ConfirmType1 艺人确认2 系统自动确认)
var confirmType int32
if len(row) > 3 && utils.CleanString(row[3]) != "" {
v, _ := strconv.ParseInt(utils.CleanString(row[3]), 10, 32)
confirmType = int32(v)
}
// 将 submitTimeYYYY-MM-DD 00:00:00加随机 9~15 小时、0~59 分钟、0~59 秒,使提交时间更真实
if submitTime != "" {
if parsedTime, parseErr := time.Parse("2006-01-02 15:04:05", submitTime); parseErr == nil {
@ -1588,8 +1596,9 @@ func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
// 构造请求
importReq := &cast.ImportCompetitiveReportHistoryReq{
ReportUuid: reportUuid,
SubmitTime: submitTime,
ReportUuid: reportUuid,
SubmitTime: submitTime,
ConfirmType: confirmType,
}
if title != "" {
importReq.Title = title
@ -1599,12 +1608,12 @@ func ImportCompetitiveReportHistoryBatch(ctx *gin.Context) {
if err != nil {
zap.L().Error("ImportCompetitiveReportHistoryBatch ImportCompetitiveReportHistory",
zap.Error(err), zap.String("reportUuid", reportUuid))
_ = excelData.SetCellValue("Sheet1", cellD, fmt.Sprintf("导入失败:%s", err.Error()))
_ = excelData.SetCellValue("Sheet1", cellE, fmt.Sprintf("导入失败:%s", err.Error()))
continue
}
// 导入成功,将返回的 report_uuid 写入第 4
_ = excelData.SetCellValue("Sheet1", cellD, importResp.ReportUuid)
// 导入成功,将返回的 report_uuid 写入第 5
_ = excelData.SetCellValue("Sheet1", cellE, importResp.ReportUuid)
successCount++
}