acme-mana-server-go/dao/acme_user.go
ZhuoQinghui ae0ebaf41a fix(acme_user): 优化用户添加流程并处理错误
- 在 AcmeUserDao.Add 方法中添加错误处理
- 优化 AcmeUserHandler.Add 方法中的参数处理- 在 AcmeUserService.Add 方法中实现用户注册逻辑
2025-05-05 12:36:18 +08:00

73 lines
1.3 KiB
Go

package dao
import (
"acme-mana-server-go/db"
"acme-mana-server-go/model"
"acme-mana-server-go/vo"
)
type AcmeUserDao struct {
}
func (dao *AcmeUserDao) Add(user *model.AcmeUser) *model.AcmeUser {
conn := db.Db()
tx := conn.Create(user)
if tx.Error != nil {
panic(tx.Error)
}
return user
}
func (dao *AcmeUserDao) Get(id int) *model.AcmeUser {
res := &model.AcmeUser{}
conn := db.Db()
tx := conn.First(res, id)
if tx.Error != nil {
panic(tx.Error)
}
return res
}
func (dao *AcmeUserDao) List() *[]model.AcmeUser {
conn := db.Db()
var res []model.AcmeUser
conn.Find(&res)
return &res
}
func (dao *AcmeUserDao) Edit(acmeUser *model.AcmeUser) *model.AcmeUser {
conn := db.Db()
conn.Save(acmeUser)
return acmeUser
}
func (dao *AcmeUserDao) Delete(id int) {
conn := db.Db()
conn.Delete(&model.AcmeUser{}, id)
}
func (dao *AcmeUserDao) Page(req *vo.AcmeUserPageReq) (int64, *[]model.AcmeUser) {
var total int64
var list []model.AcmeUser
conn := db.Db()
bean := req.Bean
query := conn.Model(&model.Domain{})
if bean.Email != "" {
query = query.Where("email like ?", "%"+bean.Email+"%")
}
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
}