acme-mana-server-go/dao/domain.go
ZhuoQinghui 61a17cfa5e feat(user): 新增 acme 用户相关功能
- 添加 acme_user 模型和相关数据库迁移- 实现 acme 用户的 CRUD 功能
- 新增 acme 用户相关的 handler 和 service
-优化 domain 模型,移除冗余字段
- 更新全局异常处理,增加日志记录
2025-05-05 12:24:09 +08:00

70 lines
1.2 KiB
Go

package dao
import (
"acme-mana-server-go/db"
"acme-mana-server-go/model"
"acme-mana-server-go/vo"
)
type DomainDao struct {
}
func (_ *DomainDao) Add(domain *model.Domain) *model.Domain {
conn := db.Db()
conn.Create(domain)
return domain
}
func (_ *DomainDao) Get(id int) *model.Domain {
res := &model.Domain{}
conn := db.Db()
tx := conn.First(res, id)
if tx.Error != nil {
panic(tx.Error)
}
return res
}
func (_ *DomainDao) List() *[]model.Domain {
conn := db.Db()
var res []model.Domain
conn.Find(&res)
return &res
}
func (_ *DomainDao) Edit(newDomain *model.Domain) *model.Domain {
conn := db.Db()
conn.Save(newDomain)
return newDomain
}
func (_ *DomainDao) Delete(id int) {
conn := db.Db()
conn.Delete(&model.Domain{}, id)
}
func (_ *DomainDao) Page(req *vo.DomainPageReq) (int64, *[]model.Domain) {
var total int64
var list []model.Domain
conn := db.Db()
bean := req.Bean
query := conn.Model(&model.Domain{})
if bean.Name != "" {
query = query.Where("name like ?", "%"+bean.Name+"%")
}
query.Count(&total)
if total == 0 {
return total, &list
}
page := req.Page
query.Offset(page.Size * (page.Page - 1)).Limit(page.Size)
query.Find(&list)
return total, &list
}