123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package repository
- import (
- req "sghgogs.com/micro/shopping-service/domain/model/request"
- pb "sghgogs.com/micro/shopping-service/proto"
- )
- func (u *Repository) GetCategoryList(query *pb.GetCategoryListRequest) ([]req.Category, int64, error) {
- tx := u.db.Model(&req.Category{}).Select("id, name, parent_category_id, created_at, updated_at").
- Order("id desc")
- var totalCount int64
- tx.Count(&totalCount)
- category := make([]req.Category, 0)
- return category, totalCount, tx.Limit(int(query.PageSize)).Offset(int((query.Page - 1) * query.PageSize)).Find(&category).Error
- }
- // GetAllCategories 获取所有
- func (u *Repository) GetAllCategories() ([]req.Category, error) {
- categories := make([]req.Category, 0)
- return categories, u.db.Model(&req.Category{}).Select("id, name, parent_category_id").
- Order("id desc").Find(&categories).Error
- }
- // CreateMultipleCategories 批量创建
- func (u *Repository) CreateMultipleCategories(categories []req.Category) error {
- tx := u.db.Begin()
- // 错误处理
- defer func() {
- if r := recover(); r != nil {
- tx.Rollback()
- }
- }()
- if err := tx.Create(&categories).Error; err != nil {
- tx.Rollback()
- return err
- }
- return tx.Commit().Error
- }
- func (u *Repository) DeleteCategory(categoryID int64) error {
- return u.db.Model(&req.Category{}).Delete(&req.Category{ID: categoryID}).Error
- }
|