12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package dao
- import (
- "errors"
- "gorm.io/gorm"
- "youngee_b_api/app/entity"
- )
- type TeamBuyingDao struct{}
- func (d TeamBuyingDao) CreateTeamBuying(teamBuying entity.TeamBuying) (int64, error) {
- err := Db.Model(&entity.TeamBuying{}).Create(&teamBuying).Error
- if err != nil {
- return 0, err
- }
- return teamBuying.TeamBuyingID, nil
- }
- func (d TeamBuyingDao) UpdateTeamBuying(teamBuying entity.TeamBuying) (int64, error) {
- err := Db.Model(&entity.TeamBuying{}).Where("team_buying_id = ?", teamBuying.TeamBuyingID).Updates(teamBuying).Error
- if err != nil {
- return 0, err
- }
- return teamBuying.TeamBuyingID, nil
- }
- func (d TeamBuyingDao) DeleteTeamBuying(teamBuyingId int64) error {
- err := Db.Where("team_buying_id = ?", teamBuyingId).Delete(&entity.TeamBuying{}).Error
- return err
- }
- func (d TeamBuyingDao) GetTeamBuyingByID(teamBuyingId int64) (*entity.TeamBuying, error) {
- var teamBuying entity.TeamBuying
- err := Db.Debug().Where("team_buying_id = ?", teamBuyingId).First(&teamBuying).Error
- if err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return nil, nil
- } else {
- return nil, err
- }
- }
- return &teamBuying, nil
- }
- func (d TeamBuyingDao) GetTeamBuyingsByStoreId(storeId int64, page int, pageSize int) ([]entity.TeamBuying, int64, error) {
- var teamBuyings []entity.TeamBuying
- var total int64
- query := Db.Model(&entity.TeamBuying{}).Where("store_id = ? AND is_deleted = ?", storeId, 0)
- query.Count(&total)
- // 计算偏移量
- offset := (page - 1) * pageSize
- // 分页查询
- err := Db.Model(&entity.TeamBuying{}).Where("store_id = ? AND is_deleted = ?", storeId, 0).Order("created_at desc").Offset(offset).Limit(pageSize).Find(&teamBuyings).Error
- if err != nil {
- return nil, 0, err
- }
- return teamBuyings, total, nil
- }
- func (d TeamBuyingDao) GetTeamBuyingsByStoreIdAndTeamBuyingTitle(storeId int64, teamBuyingTitle string, page int, pageSize int) ([]entity.TeamBuying, int64, error) {
- var teamBuyings []entity.TeamBuying
- var total int64
- query := Db.Model(&entity.TeamBuying{}).Where("store_id = ? AND is_deleted = ?", storeId, 0)
- if teamBuyingTitle != "" {
- query = query.Where("team_buying_name LIKE ?", "%"+teamBuyingTitle+"%")
- }
- query.Count(&total)
- // 计算偏移量
- offset := (page - 1) * pageSize
- // 分页查询
- err := Db.Model(&entity.TeamBuying{}).Where("store_id = ? AND is_deleted = ?", storeId, 0).Order("created_at desc").Offset(offset).Limit(pageSize).Find(&teamBuyings).Error
- if err != nil {
- return nil, 0, err
- }
- return teamBuyings, total, nil
- }
|