github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/repo/ranges.go (about) 1 package serverRepo 2 3 import ( 4 consts "github.com/easysoft/zendata/internal/pkg/const" 5 "github.com/easysoft/zendata/internal/pkg/domain" 6 "github.com/easysoft/zendata/internal/pkg/model" 7 "gorm.io/gorm" 8 ) 9 10 type RangesRepo struct { 11 DB *gorm.DB `inject:""` 12 } 13 14 func (r *RangesRepo) ListAll() (models []*model.ZdRanges) { 15 r.DB.Select("id,title,referName,fileName,folder,path,updatedAt").Find(&models) 16 return 17 } 18 19 func (r *RangesRepo) List(keywords string, page int) (models []*model.ZdRanges, total int, err error) { 20 query := r.DB.Select("id,title,referName,fileName,folder,path").Order("id ASC") 21 if keywords != "" { 22 query = query.Where("title LIKE ?", "%"+keywords+"%") 23 } 24 if page > 0 { 25 query = query.Offset((page - 1) * consts.PageSize).Limit(consts.PageSize) 26 } 27 28 err = query.Find(&models).Error 29 30 var total64 int64 31 err = r.DB.Model(&model.ZdRanges{}).Count(&total64).Error 32 total = int(total64) 33 34 return 35 } 36 37 func (r *RangesRepo) Get(id uint) (ranges model.ZdRanges, err error) { 38 err = r.DB.Where("id=?", id).First(&ranges).Error 39 return 40 } 41 42 func (r *RangesRepo) Create(ranges *model.ZdRanges) (err error) { 43 err = r.DB.Create(ranges).Error 44 return 45 } 46 func (r *RangesRepo) Update(ranges *model.ZdRanges) (err error) { 47 err = r.DB.Save(ranges).Error 48 return 49 } 50 51 func (r *RangesRepo) Remove(id uint) (err error) { 52 ranges := model.ZdRanges{} 53 ranges.ID = id 54 55 err = r.DB.Delete(ranges).Error 56 err = r.DB.Where("rangesID = ?", id).Delete(&model.ZdRangesItem{}).Error 57 58 return 59 } 60 61 func (r *RangesRepo) GetItems(rangesId int) (items []*model.ZdRangesItem, err error) { 62 err = r.DB.Where("rangesId=?", rangesId).Find(&items).Error 63 return 64 } 65 func (r *RangesRepo) GetItem(itemId uint) (item model.ZdRangesItem, err error) { 66 err = r.DB.Where("id=?", itemId).First(&item).Error 67 return 68 } 69 func (r *RangesRepo) SaveItem(item *model.ZdRangesItem) (err error) { 70 err = r.DB.Save(item).Error 71 return 72 } 73 func (r *RangesRepo) RemoveItem(id uint) (err error) { 74 item := model.ZdRangesItem{} 75 item.ID = id 76 err = r.DB.Delete(item).Error 77 return 78 } 79 func (r *RangesRepo) GetMaxOrder(rangesId int) (ord int) { 80 var preChild model.ZdField 81 err := r.DB. 82 Where("rangesID=?", rangesId). 83 Order("ord DESC").Limit(1). 84 First(&preChild).Error 85 86 if err != nil { 87 ord = 1 88 } 89 ord = preChild.Ord + 1 90 91 return 92 } 93 94 func (r *RangesRepo) UpdateYaml(po model.ZdRanges) (err error) { 95 err = r.DB.Model(&model.ZdRanges{}).Where("id=?", po.ID).Update("yaml", po.Yaml).Error 96 return 97 } 98 99 func (r *RangesRepo) GenRangesRes(ranges model.ZdRanges, res *domain.ResRanges) { 100 res.Title = ranges.Title 101 res.Desc = ranges.Desc 102 } 103 104 func (r *RangesRepo) UpdateItemRange(rang string, id uint) (err error) { 105 err = r.DB.Model(&model.ZdRangesItem{}).Where("id=?", id).Update("value", rang).Error 106 107 return 108 } 109 110 func NewRangesRepo(db *gorm.DB) *RangesRepo { 111 return &RangesRepo{DB: db} 112 }