github.com/easysoft/zendata@v0.0.0-20240513203326-705bd5a7fd67/internal/server/repo/refer.go (about) 1 package serverRepo 2 3 import ( 4 "github.com/easysoft/zendata/internal/pkg/model" 5 "gorm.io/gorm" 6 ) 7 8 type ReferRepo struct { 9 DB *gorm.DB `inject:""` 10 } 11 12 func (r *ReferRepo) CreateDefault(ownerId uint, ownerType string) (err error) { 13 refer := &model.ZdRefer{OwnerID: ownerId, OwnerType: ownerType} 14 err = r.DB.Create(&refer).Error 15 16 return 17 } 18 19 func (r *ReferRepo) Create(refer *model.ZdRefer) (err error) { 20 err = r.DB.Create(&refer).Error 21 return 22 } 23 24 func (r *ReferRepo) GetByOwnerId(fieldId uint) (refer model.ZdRefer, err error) { 25 err = r.DB.Where("ownerID=?", fieldId).First(&refer).Error 26 return 27 } 28 func (r *ReferRepo) GetByOwnerIdAndType(fieldId uint, ownerType string) (refer model.ZdRefer, err error) { 29 err = r.DB.Where("ownerID=? AND ownerType=?", fieldId, ownerType).First(&refer).Error 30 return 31 } 32 33 func (r *ReferRepo) Save(ref *model.ZdRefer) (err error) { 34 err = r.DB.Save(ref).Error 35 return 36 } 37 38 func NewReferRepo(db *gorm.DB) *ReferRepo { 39 return &ReferRepo{DB: db} 40 }