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  }