diff --git a/internal/biz/do/macro.go b/internal/biz/do/macro.go index ae6b9fe..2d7e775 100644 --- a/internal/biz/do/macro.go +++ b/internal/biz/do/macro.go @@ -48,12 +48,31 @@ func (m *Macro) Router(ctx context.Context, reqContent string, groupConfig *mode return m.NegativeProfitGet(ctx) case strings.HasPrefix(reqContent, "[负利润分析]更新"): return m.NegativeProfitUpdate(ctx, reqContent, groupConfig) + case strings.HasPrefix(reqContent, "[负利润分析]清理"): + return m.NegativeProfitClear(ctx, reqContent, groupConfig) default: } return } +func (m *Macro) NegativeProfitClear(ctx context.Context, content string, groupConfig *model.AiBotGroupConfig) (successMsg string, err error, isFinish bool) { + dayDate := time.Now().Format(time.DateOnly) + cond := builder.NewCond() + cond = cond.And(builder.Eq{"cache_index": bbxt.IndexLossSumDetail}) + cond = cond.And(builder.Eq{"cache_key": dayDate}) + err = m.reportDailyCacheImpl.UpdateByCond(&cond, &model.AiReportDailyCache{ + Status: 2, + }) + if err != nil { + err = fmt.Errorf("解析失败:%v", err) + return + } + isFinish = true + successMsg = "清理成功" + return +} + func (m *Macro) NegativeProfitUpdate(ctx context.Context, content string, groupConfig *model.AiBotGroupConfig) (successMsg string, err error, isFinish bool) { //newContent := strings.ReplaceAll(strings.TrimSpace(content), "[负利润分析]更新:", "") jsonData, err := ParseLossData(content) diff --git a/internal/data/model/ai_report_daily_cache.gen.go b/internal/data/model/ai_report_daily_cache.gen.go index bf7057c..3f7015b 100644 --- a/internal/data/model/ai_report_daily_cache.gen.go +++ b/internal/data/model/ai_report_daily_cache.gen.go @@ -12,6 +12,7 @@ type AiReportDailyCache struct { CacheKey string `gorm:"column:cache_key;not null;default:1;comment:索引方式,可以是任意类型" json:"cache_key"` // 索引方式,可以是任意类型 Value string `gorm:"column:value;comment:类型下所需路由以及参数" json:"value"` // 类型下所需路由以及参数 CacheIndex string `gorm:"column:cache_index;not null;comment:类型" json:"cache_index"` // 类型 + Status int32 `gorm:"column:status;not null;default:1" json:"status"` } // TableName AiReportDailyCache's table name