From d0f9eaea615db17737ee8b518f4d5b00a412de22 Mon Sep 17 00:00:00 2001 From: wucongxing <815046773@qq.com> Date: Wed, 28 Jun 2023 13:06:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=A8=E5=B1=80=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/basic.go | 50 ----------------------------------------- api/controller/menu.go | 5 +++-- api/controller/role.go | 8 ++++--- api/controller/user.go | 4 +--- api/dao/adminUser.go | 31 +++++++++++++++++++++++-- api/model/adminUser.go | 2 +- 6 files changed, 39 insertions(+), 61 deletions(-) diff --git a/api/controller/basic.go b/api/controller/basic.go index 6f6aaf0..9dbcb4f 100644 --- a/api/controller/basic.go +++ b/api/controller/basic.go @@ -57,53 +57,3 @@ func (b *Basic) Login(c *gin.Context) { responses.OkWithData(token, c) } - -// GetCaptchaTest 获取验证码 -func (b *Basic) GetCaptchaTest(c *gin.Context) { - // path := "/admin/basic/captcha-test/:id" - // url := c.Request.RequestURI - // - // method := "get" - // - // if KeyMatch2(url, path) && "get" == method { - // responses.Ok(c) - // return - // } - // responses.Fail(c) - // return - - // t := utils.Token{} - // t.UserId = 1 - // t.RoleId = 1 - // t.DeptId = 1 - // t.PostId = 1 - // - // au, err := t.NewJWT() - // if err != nil { - // responses.FailWithMessage(err.Error(), c) - // return - // } - // - // responses.OkWithData(au, c) - - // au, err := utils.NewJWT(123456) - // if err != nil { - // responses.FailWithMessage(err.Error(), c) - // } - // - // responses.OkWithData(au, c) - // global.Logger.WithFields(logrus.Fields{ - // "name": "key", - // "values": "value", - // }).Info("测试") - // - // result, err := global.Redis.Get(c, "111").Result() - // if err != nil { - // fmt.Println(err.Error()) - // responses.Fail(c) - // return - // } - // fmt.Println(result) - - responses.Ok(c) -} diff --git a/api/controller/menu.go b/api/controller/menu.go index a9166aa..0b91e67 100644 --- a/api/controller/menu.go +++ b/api/controller/menu.go @@ -12,8 +12,6 @@ import ( type Menu struct{} -var MenuRequest requests.MenuRequest - // GetMenuList 获取全部菜单列表 func (r *Menu) GetMenuList(c *gin.Context) { MenuService := service.MenuService{} @@ -34,6 +32,7 @@ func (r *Menu) GetMenuList(c *gin.Context) { // AddMenu 新增菜单 func (r *Menu) AddMenu(c *gin.Context) { + MenuRequest := requests.MenuRequest{} if err := c.ShouldBindJSON(&MenuRequest.AddMenu); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -85,6 +84,7 @@ func (r *Menu) AddMenu(c *gin.Context) { // PutMenu 修改菜单 func (r *Menu) PutMenu(c *gin.Context) { + MenuRequest := requests.MenuRequest{} if err := c.ShouldBindJSON(&MenuRequest.PutMenu); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -149,6 +149,7 @@ func (r *Menu) PutMenu(c *gin.Context) { // DeleteMenu 删除菜单-批量 func (r *Menu) DeleteMenu(c *gin.Context) { + MenuRequest := requests.MenuRequest{} if err := c.ShouldBindJSON(&MenuRequest.DeleteMenu); err != nil { responses.FailWithMessage(err.Error(), c) return diff --git a/api/controller/role.go b/api/controller/role.go index 997b977..44cf361 100644 --- a/api/controller/role.go +++ b/api/controller/role.go @@ -13,8 +13,6 @@ import ( type Role struct{} -var RoleRequest requests.RoleRequest - // GetRoleMenuList 获取登陆角色菜单列表 func (r *Role) GetRoleMenuList(c *gin.Context) { roleId := c.GetInt64("RoleId") @@ -41,6 +39,7 @@ func (r *Role) GetRoleMenuList(c *gin.Context) { // GetRolePage 获取角色列表-分页 func (r *Role) GetRolePage(c *gin.Context) { + RoleRequest := requests.RoleRequest{} if err := c.ShouldBind(&RoleRequest.GetRolePage); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -65,7 +64,6 @@ func (r *Role) GetRolePage(c *gin.Context) { if err != nil { responses.FailWithMessage(err.Error(), c) - c.Abort() return } @@ -80,6 +78,7 @@ func (r *Role) GetRolePage(c *gin.Context) { // PutRoleStatus 角色禁用/启用 // 此处应该允许修改下级角色 func (r *Role) PutRoleStatus(c *gin.Context) { + RoleRequest := requests.RoleRequest{} if err := c.ShouldBind(&RoleRequest.PutRoleStatus); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -122,6 +121,7 @@ func (r *Role) PutRoleStatus(c *gin.Context) { // AddRole 新增角色 func (r *Role) AddRole(c *gin.Context) { + RoleRequest := requests.RoleRequest{} if err := c.ShouldBindJSON(&RoleRequest.AddRole); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -176,6 +176,7 @@ func (r *Role) GetRole(c *gin.Context) { // PutRole 修改角色 func (r *Role) PutRole(c *gin.Context) { + RoleRequest := requests.RoleRequest{} if err := c.ShouldBindJSON(&RoleRequest.PutRole); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -218,6 +219,7 @@ func (r *Role) PutRole(c *gin.Context) { // DeleteRole 删除角色-批量 func (r *Role) DeleteRole(c *gin.Context) { + RoleRequest := requests.RoleRequest{} if err := c.ShouldBindJSON(&RoleRequest.DeleteRole); err != nil { responses.FailWithMessage(err.Error(), c) return diff --git a/api/controller/user.go b/api/controller/user.go index 2fd4e86..d0cdd79 100644 --- a/api/controller/user.go +++ b/api/controller/user.go @@ -11,10 +11,9 @@ import ( type User struct{} -var UserRequest requests.UserRequest - // GetUserPage 获取用户列表-分页 func (r *User) GetUserPage(c *gin.Context) { + UserRequest := requests.UserRequest{} if err := c.ShouldBind(&UserRequest.GetUserPage); err != nil { responses.FailWithMessage(err.Error(), c) return @@ -39,7 +38,6 @@ func (r *User) GetUserPage(c *gin.Context) { if err != nil { responses.FailWithMessage(err.Error(), c) - c.Abort() return } diff --git a/api/dao/adminUser.go b/api/dao/adminUser.go index 2f297e2..e42a888 100644 --- a/api/dao/adminUser.go +++ b/api/dao/adminUser.go @@ -1,6 +1,7 @@ package dao import ( + "fmt" "gorm.io/gorm" "hospital-admin-api/api/model" "hospital-admin-api/api/requests" @@ -70,13 +71,39 @@ func (r *AdminUserDao) GetAdminUserPageSearch(getUserPage requests.GetUserPage, var totalRecords int64 // 构建查询条件 - query := global.Db.Model(&model.AdminUser{}).Preload("Role") + query := global.Db.Model(&model.AdminUser{}).Omit("password", "salt") + + // 岗位 + query = query.Preload("Post", func(db *gorm.DB) *gorm.DB { + return db.Select("post_id, post_name") + }) + + // 部门 + query = query.Preload("Dept", func(db *gorm.DB) *gorm.DB { + return db.Select("dept_id, dept_name") + }) + + // 角色 + query = query.Preload("Role", func(db *gorm.DB) *gorm.DB { + return db.Select("role_id, role_name") + }) + if getUserPage.PostName != "" { - query = query.Preload("Post", "post_name like ?", "%"+getUserPage.PostName+"%") + fmt.Println(1111) + subQuery := global.Db.Model(&model.AdminPost{}). + Select("post_id"). + Where("post_name LIKE ?", "%"+getUserPage.PostName+"%") + + query = query.Where(gorm.Expr("post_id IN (?)", subQuery)) } if getUserPage.DeptName != "" { query = query.Preload("Dept", "dept_name like ?", "%"+getUserPage.DeptName+"%") + subQuery := global.Db.Model(&model.AdminDept{}). + Select("dept_id"). + Where("dept_name LIKE ?", "%"+getUserPage.DeptName+"%") + + query = query.Where(gorm.Expr("dept_id IN (?)", subQuery)) } if getUserPage.NickName != "" { diff --git a/api/model/adminUser.go b/api/model/adminUser.go index 91df146..905e89d 100644 --- a/api/model/adminUser.go +++ b/api/model/adminUser.go @@ -19,7 +19,7 @@ type AdminUser struct { 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"` // 部门 + Dept *AdminDept `gorm:"foreignKey:DeptID"` // 部门 Post *AdminPost `gorm:"foreignKey:PostID"` // 岗位 }