Files
lckt-server/service/app/domain.go
2025-09-11 21:03:57 +08:00

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
}