54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package app
|
|
|
|
import (
|
|
"git.echol.cn/loser/lckt/global"
|
|
"git.echol.cn/loser/lckt/model/app"
|
|
"git.echol.cn/loser/lckt/model/app/request"
|
|
)
|
|
|
|
type DomainService struct{}
|
|
|
|
func (s DomainService) Create(p app.Domain) error {
|
|
return global.GVA_DB.Create(&p).Error
|
|
}
|
|
|
|
func (s DomainService) GetList(p request.GetDomainList) (list []app.Domain, total int64, err error) {
|
|
limit := p.PageSize
|
|
offset := p.PageSize * (p.Page - 1)
|
|
db := global.GVA_DB.Model(&app.Domain{})
|
|
|
|
if p.Name != "" {
|
|
db = db.Where("name LIKE ?", "%"+p.Name+"%")
|
|
}
|
|
if p.Status != 0 {
|
|
db = db.Where("status = ?", p.Status)
|
|
}
|
|
if p.Domain != "" {
|
|
db = db.Where("domain_url LIKE ?", "%"+p.Domain+"%")
|
|
}
|
|
if p.Type != 0 {
|
|
db = db.Where("type = ?", p.Type)
|
|
}
|
|
|
|
err = db.Count(&total).Error
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
err = db.Limit(limit).Offset(offset).Order("created_at DESC").Find(&list).Error
|
|
return
|
|
}
|
|
|
|
func (s DomainService) Update(p app.Domain) error {
|
|
return global.GVA_DB.Save(&p).Error
|
|
}
|
|
|
|
func (s DomainService) Delete(id uint) error {
|
|
return global.GVA_DB.Delete(&app.Domain{}, id).Error
|
|
}
|
|
|
|
func (s DomainService) GetByID(id string) (domain app.Domain, err error) {
|
|
err = global.GVA_DB.Where("id = ?", id).First(&domain).Error
|
|
return
|
|
}
|