新增获取用户列表-分页
This commit is contained in:
parent
c8fd746540
commit
e33721fcd8
@ -5,4 +5,5 @@ type Api struct {
|
||||
Basic // 基础数据
|
||||
Role // 角色数据
|
||||
Menu // 菜单数据
|
||||
User // 用户数据
|
||||
}
|
||||
|
||||
@ -39,29 +39,29 @@ func (r *Role) GetRoleMenuList(c *gin.Context) {
|
||||
responses.OkWithData(roleMenuList, c)
|
||||
}
|
||||
|
||||
// GetRolePage 搜索角色列表
|
||||
// GetRolePage 获取角色列表-分页
|
||||
func (r *Role) GetRolePage(c *gin.Context) {
|
||||
if err := c.ShouldBind(&RoleRequest.GetRoleList); err != nil {
|
||||
if err := c.ShouldBind(&RoleRequest.GetRolePage); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(RoleRequest.GetRoleList); err != nil {
|
||||
if err := global.Validate.Struct(RoleRequest.GetRolePage); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
if RoleRequest.GetRoleList.Page == 0 {
|
||||
RoleRequest.GetRoleList.Page = 1
|
||||
if RoleRequest.GetRolePage.Page == 0 {
|
||||
RoleRequest.GetRolePage.Page = 1
|
||||
}
|
||||
|
||||
if RoleRequest.GetRoleList.PageSize == 0 {
|
||||
RoleRequest.GetRoleList.PageSize = 20
|
||||
if RoleRequest.GetRolePage.PageSize == 0 {
|
||||
RoleRequest.GetRolePage.PageSize = 20
|
||||
}
|
||||
|
||||
AdminRoleDao := dao.AdminRoleDao{}
|
||||
adminRole, total, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRoleList.RoleName, RoleRequest.GetRoleList.Page, RoleRequest.GetRoleList.PageSize)
|
||||
adminRole, total, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRolePage.RoleName, RoleRequest.GetRolePage.Page, RoleRequest.GetRolePage.PageSize)
|
||||
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
@ -70,8 +70,8 @@ func (r *Role) GetRolePage(c *gin.Context) {
|
||||
}
|
||||
|
||||
result := make(map[string]interface{})
|
||||
result["page"] = RoleRequest.GetRoleList.Page
|
||||
result["page_size"] = RoleRequest.GetRoleList.PageSize
|
||||
result["page"] = RoleRequest.GetRolePage.Page
|
||||
result["page_size"] = RoleRequest.GetRolePage.PageSize
|
||||
result["total"] = total
|
||||
result["data"] = adminRole
|
||||
responses.OkWithData(result, c)
|
||||
|
||||
52
api/controller/user.go
Normal file
52
api/controller/user.go
Normal file
@ -0,0 +1,52 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"hospital-admin-api/api/dao"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/api/responses"
|
||||
"hospital-admin-api/global"
|
||||
"hospital-admin-api/utils"
|
||||
)
|
||||
|
||||
type User struct{}
|
||||
|
||||
var UserRequest requests.UserRequest
|
||||
|
||||
// GetUserPage 获取用户列表-分页
|
||||
func (r *User) GetUserPage(c *gin.Context) {
|
||||
if err := c.ShouldBind(&UserRequest.GetUserPage); err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
|
||||
// 参数验证
|
||||
if err := global.Validate.Struct(UserRequest.GetUserPage); err != nil {
|
||||
responses.FailWithMessage(utils.Translate(err), c)
|
||||
return
|
||||
}
|
||||
|
||||
if UserRequest.GetUserPage.Page == 0 {
|
||||
UserRequest.GetUserPage.Page = 1
|
||||
}
|
||||
|
||||
if UserRequest.GetUserPage.PageSize == 0 {
|
||||
UserRequest.GetUserPage.PageSize = 20
|
||||
}
|
||||
|
||||
AdminUserDao := dao.AdminUserDao{}
|
||||
adminUser, total, err := AdminUserDao.GetAdminUserPageSearch(UserRequest.GetUserPage, UserRequest.GetUserPage.Page, UserRequest.GetUserPage.PageSize)
|
||||
|
||||
if err != nil {
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
c.Abort()
|
||||
return
|
||||
}
|
||||
|
||||
result := make(map[string]interface{})
|
||||
result["page"] = UserRequest.GetUserPage.Page
|
||||
result["page_size"] = UserRequest.GetUserPage.PageSize
|
||||
result["total"] = total
|
||||
result["data"] = adminUser
|
||||
responses.OkWithData(result, c)
|
||||
}
|
||||
@ -36,7 +36,7 @@ func (r *AdminRoleDao) AddAdminRole(tx *gorm.DB, model *model.AdminRole) (*model
|
||||
return model, nil
|
||||
}
|
||||
|
||||
// GetAdminRolePageSearch 搜索角色列表-分页
|
||||
// GetAdminRolePageSearch 获取角色列表-分页
|
||||
func (r *AdminRoleDao) GetAdminRolePageSearch(roleName string, page, pageSize int) (m []*model.AdminRole, total int64, err error) {
|
||||
var totalRecords int64
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package dao
|
||||
import (
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/api/model"
|
||||
"hospital-admin-api/api/requests"
|
||||
"hospital-admin-api/global"
|
||||
)
|
||||
|
||||
@ -63,3 +64,49 @@ func (r *AdminUserDao) GetAdminUserList(maps interface{}) (m []*model.AdminUser,
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// GetAdminUserPageSearch 获取用户列表-分页
|
||||
func (r *AdminUserDao) GetAdminUserPageSearch(getUserPage requests.GetUserPage, page, pageSize int) (m []*model.AdminUser, total int64, err error) {
|
||||
var totalRecords int64
|
||||
|
||||
// 构建查询条件
|
||||
query := global.Db.Model(&model.AdminUser{}).Preload("Role")
|
||||
if getUserPage.PostName != "" {
|
||||
query = query.Preload("Post", "post_name like ?", "%"+getUserPage.PostName+"%")
|
||||
}
|
||||
|
||||
if getUserPage.DeptName != "" {
|
||||
query = query.Preload("Dept", "dept_name like ?", "%"+getUserPage.DeptName+"%")
|
||||
}
|
||||
|
||||
if getUserPage.NickName != "" {
|
||||
query = query.Where("nick_name = ?", getUserPage.NickName)
|
||||
}
|
||||
|
||||
if getUserPage.Phone != "" {
|
||||
query = query.Where("phone = ?", getUserPage.Phone)
|
||||
}
|
||||
|
||||
if getUserPage.Status != 0 {
|
||||
query = query.Where("status = ?", getUserPage.Status)
|
||||
}
|
||||
|
||||
if getUserPage.DeptId != 0 {
|
||||
query = query.Where("dept_id = ?", getUserPage.DeptId)
|
||||
}
|
||||
|
||||
if getUserPage.PostId != 0 {
|
||||
query = query.Where("post_id = ?", getUserPage.PostId)
|
||||
}
|
||||
|
||||
// 查询总数量
|
||||
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
|
||||
}
|
||||
|
||||
@ -18,6 +18,9 @@ type AdminUser struct {
|
||||
RoleID int64 `gorm:"column:role_id;type:bigint(19);comment:'角色表'" json:"role_id"`
|
||||
DeptID int64 `gorm:"column:dept_id;type:bigint(19);comment:'部门id'" json:"dept_id"`
|
||||
PostID int64 `gorm:"column:post_id;type:bigint(19);comment:'岗位id'" json:"post_id"`
|
||||
Role *AdminRole `gorm:"foreignKey:RoleID"` // 角色
|
||||
Dept *AdminMenu `gorm:"foreignKey:DeptID"` // 部门
|
||||
Post *AdminPost `gorm:"foreignKey:PostID"` // 岗位
|
||||
}
|
||||
|
||||
func (m *AdminUser) TableName() string {
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
package requests
|
||||
|
||||
type RoleRequest struct {
|
||||
GetRoleList // 获取角色列表
|
||||
GetRolePage // 获取角色列表-分页
|
||||
PutRoleStatus // 角色禁用/启用
|
||||
AddRole // 新增角色
|
||||
PutRole // 修改角色
|
||||
DeleteRole // 修改角色
|
||||
}
|
||||
|
||||
// GetRoleList 获取角色列表
|
||||
type GetRoleList struct {
|
||||
// GetRolePage 获取角色列表-分页
|
||||
type GetRolePage struct {
|
||||
RoleName string `json:"role_name" form:"role_name" label:"角色名称"`
|
||||
Page int `json:"page" form:"page" label:"页码"`
|
||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||
|
||||
18
api/requests/user.go
Normal file
18
api/requests/user.go
Normal file
@ -0,0 +1,18 @@
|
||||
package requests
|
||||
|
||||
type UserRequest struct {
|
||||
GetUserPage // 获取用户列表-分页
|
||||
}
|
||||
|
||||
// GetUserPage 获取用户列表-分页
|
||||
type GetUserPage struct {
|
||||
PostName string `json:"post_name" form:"post_name" label:"岗位名称"`
|
||||
DeptName string `json:"dept_name" form:"dept_name" label:"部门名称"`
|
||||
NickName string `json:"nick_name" form:"nick_name" label:"用户昵称"`
|
||||
Phone string `json:"phone" form:"phone" label:"手机号"`
|
||||
Status int `json:"status" form:"status" label:"用户状态"` // (1:正常 2:审核中 3:审核失败)
|
||||
DeptId int64 `json:"dept_id" form:"dept_id" label:"部门"`
|
||||
PostId int64 `json:"post_id" form:"post_id" label:"岗位"`
|
||||
Page int `json:"page" form:"page" label:"页码"`
|
||||
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
|
||||
}
|
||||
@ -75,7 +75,7 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
||||
// 获取登陆角色菜单列表
|
||||
roleGroup.GET("menu", api.Role.GetRoleMenuList)
|
||||
|
||||
// 搜索角色列表-分页
|
||||
// 获取角色列表-分页
|
||||
roleGroup.GET("", api.Role.GetRolePage)
|
||||
|
||||
// 角色禁用/启用
|
||||
@ -109,4 +109,20 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
||||
// 删除菜单-批量
|
||||
menuGroup.DELETE("", api.Menu.DeleteMenu)
|
||||
}
|
||||
|
||||
// 用户
|
||||
userGroup := adminGroup.Group("/user")
|
||||
{
|
||||
// 获取用户列表-分页
|
||||
userGroup.GET("", api.User.GetUserPage)
|
||||
|
||||
// 新增用户
|
||||
userGroup.POST("", api.User.GetUserPage)
|
||||
|
||||
// 修改用户
|
||||
userGroup.PUT("/:menu_id", api.User.GetUserPage)
|
||||
|
||||
// 删除用户-批量
|
||||
userGroup.DELETE("", api.User.GetUserPage)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user