新增后台用户管理

This commit is contained in:
2024-09-30 11:40:35 +08:00
parent 17c92e648c
commit 1fadd77158
8 changed files with 877 additions and 1 deletions
+62
View File
@@ -3,6 +3,7 @@ package dao
import (
"gorm.io/gorm"
"knowledge/api/model"
"knowledge/api/requests"
"knowledge/global"
)
@@ -37,6 +38,15 @@ func (r *AdminUserDao) GetAdminUserFirstByPhone(phone string) (m *model.AdminUse
return m, nil
}
// GetAdminUser 获取
func (r *AdminUserDao) GetAdminUser(maps interface{}) (m *model.AdminUser, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteAdminUser 删除用户
func (r *AdminUserDao) DeleteAdminUser(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.AdminUser{}).Error
@@ -88,3 +98,55 @@ func (r *AdminUserDao) AddAdminUser(tx *gorm.DB, model *model.AdminUser) (*model
}
return model, nil
}
// GetAdminUserPageSearch 获取列表-分页
func (r *AdminUserDao) GetAdminUserPageSearch(req requests.GetAdminUserPage, page, pageSize int) (m []*model.AdminUser, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.AdminUser{})
// 账号
if req.Access != "" {
query = query.Where("access LIKE ?", "%"+req.Access+"%")
}
// 昵称
if req.NickName != "" {
query = query.Where("nick_name LIKE ?", "%"+req.NickName+"%")
}
// 状态
if req.Status != nil {
query = query.Where("status = ?", req.Status)
}
// 是否被删除
if req.IsDeleted != nil {
query = query.Where("is_deleted = ?", req.IsDeleted)
}
// 是否被禁用
if req.IsDisabled != nil {
query = query.Where("is_disabled = ?", req.IsDisabled)
}
// 手机号
if req.Phone != "" {
query = query.Where("phone LIKE ?", "%"+req.Phone+"%")
}
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}