123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package dao
- import (
- "errors"
- "gorm.io/gorm"
- "youngee_b_api/app/entity"
- )
- type StoreDao struct{}
- func (d StoreDao) CreateStore(store entity.Store) (int64, error) {
- err := Db.Model(&entity.Store{}).Create(&store).Error
- if err != nil {
- return 0, err
- }
- return store.StoreID, nil
- }
- func (d StoreDao) GetStoreByID(storeId int64) (*entity.Store, error) {
- var store entity.Store
- err := Db.Debug().Where("store_id = ?", storeId).First(&store).Error
- if err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, nil
- } else {
- return nil, err
- }
- }
- return &store, nil
- }
- func (d StoreDao) GetStoresByEnterpriseID(enterpriseId string, page int, pageSize int) ([]entity.Store, int64, error) {
- var stores []entity.Store
- var total int64
- query := Db.Model(&entity.Store{}).Where("enterprise_id = ? AND is_deleted = ?", enterpriseId, 0)
- query.Count(&total)
- // 计算偏移量
- offset := (page - 1) * pageSize
- // 分页查询
- err := query.Order("created_at desc").Offset(offset).Limit(pageSize).Find(&stores).Error
- if err != nil {
- return nil, 0, err
- }
- return stores, total, nil
- }
- func (d StoreDao) GetStoresByEnterpriseIDAndStoreName(enterpriseId string, storeName string, page int, pageSize int) ([]entity.Store, int64, error) {
- var stores []entity.Store
- var total int64
- query := Db.Model(&entity.Store{}).Where("enterprise_id = ? AND is_deleted = ?", enterpriseId, 0)
- if storeName != "" {
- query = query.Where("store_name LIKE ?", "%"+storeName+"%")
- }
- query.Count(&total)
- // 计算偏移量
- offset := (page - 1) * pageSize
- // 分页查询
- err := query.Order("created_at desc").Offset(offset).Limit(pageSize).Find(&stores).Error
- if err != nil {
- return nil, 0, err
- }
- return stores, total, nil
- }
|