common版本更新v0.2.6;数据库查询接口增加是否从缓存中查询数据开关

This commit is contained in:
2025-12-29 15:58:48 +08:00
parent ca7b1cd989
commit c150f38a87
9 changed files with 129 additions and 56 deletions

View File

@@ -15,9 +15,17 @@ import (
)
// OrderDailyStatisticsDAO 订单日统计DAO
type OrderDailyStatisticsDAO struct{}
type OrderDailyStatisticsDAO struct {
NoCache bool
}
var OrderDailyStatisticsDAOInstance = &OrderDailyStatisticsDAO{}
var OrderDailyStatisticsDAOInstance = &OrderDailyStatisticsDAO{
NoCache: false,
}
func (dao *OrderDailyStatisticsDAO) SetNoCache() {
OrderDailyStatisticsDAOInstance.NoCache = true
}
// GenerateStatistics 使用Go代码生成日统计数据
func (dao *OrderDailyStatisticsDAO) GenerateStatistics(ctx context.Context, tenantID int64, date time.Time) (*entity.OrderDailyStatistics, error) {
@@ -35,7 +43,7 @@ func (dao *OrderDailyStatisticsDAO) GenerateStatistics(ctx context.Context, tena
}
var orders []*entity.OrderBase
err := mongo.Find(ctx, filter, &orders, consts.OrderCollection)
err := mongo.Find(ctx, dao.NoCache, filter, &orders, consts.OrderCollection)
if err != nil {
return nil, fmt.Errorf("查询订单数据失败: %v", err)
}
@@ -220,7 +228,7 @@ func (dao *OrderDailyStatisticsDAO) GetByTenantAndDate(ctx context.Context, tena
"reportDate": reportDate,
}
err := mongo.FindOne(ctx, filter, &result, consts.OrderDailyStatisticsCollection)
err := mongo.FindOne(ctx, dao.NoCache, filter, &result, consts.OrderDailyStatisticsCollection)
if err != nil {
return nil, err
}
@@ -247,7 +255,7 @@ func (dao *OrderDailyStatisticsDAO) GetListByTenant(ctx context.Context, tenantI
}
// 获取总数
totalCount, err := mongo.Count(ctx, filter, consts.OrderDailyStatisticsCollection)
totalCount, err := mongo.Count(ctx, dao.NoCache, filter, consts.OrderDailyStatisticsCollection)
if err != nil {
return nil, 0, err
}
@@ -257,7 +265,7 @@ func (dao *OrderDailyStatisticsDAO) GetListByTenant(ctx context.Context, tenantI
var results []*entity.OrderDailyStatistics
// 使用mongo.Find进行分页查询
err = mongo.Find(ctx, filter, &results, consts.OrderDailyStatisticsCollection,
err = mongo.Find(ctx, dao.NoCache, filter, &results, consts.OrderDailyStatisticsCollection,
options.Find().SetSkip(skip).SetLimit(int64(pageSize)).SetSort(bson.D{{Key: "reportDate", Value: -1}}))
if err != nil {