This commit is contained in:
2025-08-03 18:46:53 +08:00
parent 7b433e703a
commit 6c5016912e
14 changed files with 124 additions and 37 deletions

View File

@@ -70,7 +70,7 @@ func (r *GormProductCategoryRepository) FindByCode(ctx context.Context, code str
// FindVisible 查找可见分类
func (r *GormProductCategoryRepository) FindVisible(ctx context.Context) ([]*entities.ProductCategory, error) {
var categories []entities.ProductCategory
err := r.GetDB(ctx).Where("is_visible = ? AND is_enabled = ?", true, true).Find(&categories).Error
err := r.GetDB(ctx).Where("is_visible = ? AND is_enabled = ?", true, true).Order("sort ASC, created_at DESC").Find(&categories).Error
if err != nil {
return nil, err
}
@@ -86,7 +86,7 @@ func (r *GormProductCategoryRepository) FindVisible(ctx context.Context) ([]*ent
// FindEnabled 查找启用分类
func (r *GormProductCategoryRepository) FindEnabled(ctx context.Context) ([]*entities.ProductCategory, error) {
var categories []entities.ProductCategory
err := r.GetDB(ctx).Where("is_enabled = ?", true).Find(&categories).Error
err := r.GetDB(ctx).Where("is_enabled = ?", true).Order("sort ASC, created_at DESC").Find(&categories).Error
if err != nil {
return nil, err
}
@@ -130,7 +130,7 @@ func (r *GormProductCategoryRepository) ListCategories(ctx context.Context, quer
dbQuery = dbQuery.Order(order)
} else {
// 默认按排序字段和创建时间排序
dbQuery = dbQuery.Order("sort ASC, created_at ASC")
dbQuery = dbQuery.Order("sort ASC, created_at DESC")
}
// 应用分页
@@ -193,7 +193,7 @@ func (r *GormProductCategoryRepository) Count(ctx context.Context, options inter
// GetByIDs 根据ID列表获取分类
func (r *GormProductCategoryRepository) GetByIDs(ctx context.Context, ids []string) ([]entities.ProductCategory, error) {
var categories []entities.ProductCategory
err := r.GetDB(ctx).Where("id IN ?", ids).Find(&categories).Error
err := r.GetDB(ctx).Where("id IN ?", ids).Order("sort ASC, created_at DESC").Find(&categories).Error
return categories, err
}
@@ -238,6 +238,9 @@ func (r *GormProductCategoryRepository) List(ctx context.Context, options interf
order += " ASC"
}
query = query.Order(order)
} else {
// 默认按排序字段和创建时间倒序
query = query.Order("sort ASC, created_at DESC")
}
// 应用分页

View File

@@ -82,7 +82,7 @@ func (r *GormProductRepository) FindByOldID(ctx context.Context, oldID string) (
// FindByCategoryID 根据分类ID查找产品
func (r *GormProductRepository) FindByCategoryID(ctx context.Context, categoryID string) ([]*entities.Product, error) {
var productEntities []entities.Product
err := r.GetDB(ctx).Preload("Category").Where("category_id = ?", categoryID).Find(&productEntities).Error
err := r.GetDB(ctx).Preload("Category").Where("category_id = ?", categoryID).Order("created_at DESC").Find(&productEntities).Error
if err != nil {
return nil, err
}
@@ -98,7 +98,7 @@ func (r *GormProductRepository) FindByCategoryID(ctx context.Context, categoryID
// FindVisible 查找可见产品
func (r *GormProductRepository) FindVisible(ctx context.Context) ([]*entities.Product, error) {
var productEntities []entities.Product
err := r.GetDB(ctx).Preload("Category").Where("is_visible = ? AND is_enabled = ?", true, true).Find(&productEntities).Error
err := r.GetDB(ctx).Preload("Category").Where("is_visible = ? AND is_enabled = ?", true, true).Order("created_at DESC").Find(&productEntities).Error
if err != nil {
return nil, err
}
@@ -114,7 +114,7 @@ func (r *GormProductRepository) FindVisible(ctx context.Context) ([]*entities.Pr
// FindEnabled 查找启用产品
func (r *GormProductRepository) FindEnabled(ctx context.Context) ([]*entities.Product, error) {
var productEntities []entities.Product
err := r.GetDB(ctx).Preload("Category").Where("is_enabled = ?", true).Find(&productEntities).Error
err := r.GetDB(ctx).Preload("Category").Where("is_enabled = ?", true).Order("created_at DESC").Find(&productEntities).Error
if err != nil {
return nil, err
}
@@ -303,7 +303,7 @@ func (r *GormProductRepository) ListProductsWithSubscriptionStatus(ctx context.C
// FindSubscribableProducts 查找可订阅产品
func (r *GormProductRepository) FindSubscribableProducts(ctx context.Context, userID string) ([]*entities.Product, error) {
var productEntities []entities.Product
err := r.GetDB(ctx).Where("is_enabled = ? AND is_visible = ?", true, true).Find(&productEntities).Error
err := r.GetDB(ctx).Where("is_enabled = ? AND is_visible = ?", true, true).Order("created_at DESC").Find(&productEntities).Error
if err != nil {
return nil, err
}
@@ -318,7 +318,7 @@ func (r *GormProductRepository) FindSubscribableProducts(ctx context.Context, us
// FindProductsByIDs 根据ID列表查找产品
func (r *GormProductRepository) FindProductsByIDs(ctx context.Context, ids []string) ([]*entities.Product, error) {
var productEntities []entities.Product
err := r.GetDB(ctx).Where("id IN ?", ids).Find(&productEntities).Error
err := r.GetDB(ctx).Where("id IN ?", ids).Order("created_at DESC").Find(&productEntities).Error
if err != nil {
return nil, err
}
@@ -379,7 +379,7 @@ func (r *GormProductRepository) Count(ctx context.Context, options interfaces.Co
// GetByIDs 根据ID列表获取产品
func (r *GormProductRepository) GetByIDs(ctx context.Context, ids []string) ([]entities.Product, error) {
var products []entities.Product
err := r.GetDB(ctx).Where("id IN ?", ids).Find(&products).Error
err := r.GetDB(ctx).Where("id IN ?", ids).Order("created_at DESC").Find(&products).Error
return products, err
}
@@ -424,6 +424,9 @@ func (r *GormProductRepository) List(ctx context.Context, options interfaces.Lis
order += " ASC"
}
query = query.Order(order)
} else {
// 默认按创建时间倒序
query = query.Order("created_at DESC")
}
// 应用分页

View File

@@ -60,7 +60,7 @@ func (r *GormSubscriptionRepository) Update(ctx context.Context, entity entities
// FindByUserID 根据用户ID查找订阅
func (r *GormSubscriptionRepository) FindByUserID(ctx context.Context, userID string) ([]*entities.Subscription, error) {
var subscriptions []entities.Subscription
err := r.GetDB(ctx).WithContext(ctx).Where("user_id = ?", userID).Find(&subscriptions).Error
err := r.GetDB(ctx).WithContext(ctx).Where("user_id = ?", userID).Order("created_at DESC").Find(&subscriptions).Error
if err != nil {
return nil, err
}
@@ -76,7 +76,7 @@ func (r *GormSubscriptionRepository) FindByUserID(ctx context.Context, userID st
// FindByProductID 根据产品ID查找订阅
func (r *GormSubscriptionRepository) FindByProductID(ctx context.Context, productID string) ([]*entities.Subscription, error) {
var subscriptions []entities.Subscription
err := r.GetDB(ctx).WithContext(ctx).Where("product_id = ?", productID).Find(&subscriptions).Error
err := r.GetDB(ctx).WithContext(ctx).Where("product_id = ?", productID).Order("created_at DESC").Find(&subscriptions).Error
if err != nil {
return nil, err
}
@@ -243,7 +243,7 @@ func (r *GormSubscriptionRepository) Count(ctx context.Context, options interfac
// GetByIDs 根据ID列表获取订阅
func (r *GormSubscriptionRepository) GetByIDs(ctx context.Context, ids []string) ([]entities.Subscription, error) {
var subscriptions []entities.Subscription
err := r.GetDB(ctx).WithContext(ctx).Where("id IN ?", ids).Find(&subscriptions).Error
err := r.GetDB(ctx).WithContext(ctx).Where("id IN ?", ids).Order("created_at DESC").Find(&subscriptions).Error
return subscriptions, err
}
@@ -288,6 +288,9 @@ func (r *GormSubscriptionRepository) List(ctx context.Context, options interface
order += " ASC"
}
query = query.Order(order)
} else {
// 默认按创建时间倒序
query = query.Order("created_at DESC")
}
// 应用分页