新增角色列表,岗位列表

This commit is contained in:
wucongxing 2023-07-03 15:59:31 +08:00
parent d6597048ec
commit 9796314616
9 changed files with 189 additions and 21 deletions

View File

@ -207,3 +207,40 @@ func (r *Post) PutPost(c *gin.Context) {
}
responses.Ok(c)
}
// GetPostList 获取岗位列表
func (r *Post) GetPostList(c *gin.Context) {
roleRequest := requests.PostRequest{}
if err := c.ShouldBind(&roleRequest.GetPostList); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(roleRequest.GetPostList); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
adminPostDao := dao.AdminPostDao{}
maps := make(map[string]interface{})
if roleRequest.GetPostList.PostName != "" {
maps["post_name"] = roleRequest.GetPostList.PostName
}
adminPosts, err := adminPostDao.GetAdminPostList(maps)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if len(adminPosts) == 0 {
responses.Ok(c)
return
}
// 处理返回值
getPostListResponses := postResponse.GetPostListResponse(adminPosts)
responses.OkWithData(getPostListResponses, c)
}

View File

@ -222,14 +222,14 @@ 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 {
roleRequest := requests.RoleRequest{}
if err := c.ShouldBindJSON(&roleRequest.PutRole); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(RoleRequest.PutRole); err != nil {
if err := global.Validate.Struct(roleRequest.PutRole); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
@ -248,7 +248,7 @@ func (r *Role) PutRole(c *gin.Context) {
}
// 判断菜单数据是否为空
if len(RoleRequest.PutRole.MenuIds) == 0 {
if len(roleRequest.PutRole.MenuIds) == 0 {
responses.FailWithMessage("请为角色添加菜单", c)
return
}
@ -267,8 +267,7 @@ func (r *Role) PutRole(c *gin.Context) {
}
// 业务处理
RoleService := service.RoleService{}
_, err = RoleService.PutRole(c, roleId, RoleRequest.PutRole)
_, err = roleService.PutRole(c, roleId, roleRequest.PutRole)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
@ -278,24 +277,61 @@ 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 {
roleRequest := requests.RoleRequest{}
if err := c.ShouldBindJSON(&roleRequest.DeleteRole); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(RoleRequest.DeleteRole); err != nil {
if err := global.Validate.Struct(roleRequest.DeleteRole); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
// 业务处理
RoleService := service.RoleService{}
_, err := RoleService.DeleteRole(c, RoleRequest.DeleteRole)
roleService := service.RoleService{}
_, err := roleService.DeleteRole(c, roleRequest.DeleteRole)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.Ok(c)
}
// GetRoleList 获取角色列表
func (r *Role) GetRoleList(c *gin.Context) {
roleRequest := requests.RoleRequest{}
if err := c.ShouldBind(&roleRequest.GetRoleList); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(roleRequest.GetRoleList); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
adminRoleDao := dao.AdminRoleDao{}
maps := make(map[string]interface{})
if roleRequest.GetRoleList.RoleName != "" {
maps["role_name"] = roleRequest.GetRoleList.RoleName
}
adminRoles, err := adminRoleDao.GetAdminRoleList(maps)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if len(adminRoles) == 0 {
responses.Ok(c)
return
}
// 处理返回值
getRoleListResponses := roleResponse.GetRoleListResponse(adminRoles)
responses.OkWithData(getRoleListResponses, c)
}

View File

@ -37,16 +37,16 @@ func (r *AdminPostDao) AddAdminPost(tx *gorm.DB, model *model.AdminPost) (*model
}
// DeleteAdminPostById 删除岗位-岗位id
func (r *AdminPostDao) DeleteAdminPostById(tx *gorm.DB, deptId int64) error {
if err := tx.Delete(&model.AdminPost{}, deptId).Error; err != nil {
func (r *AdminPostDao) DeleteAdminPostById(tx *gorm.DB, postId int64) error {
if err := tx.Delete(&model.AdminPost{}, postId).Error; err != nil {
return err
}
return nil
}
// EditAdminPostById 修改岗位-岗位id
func (r *AdminPostDao) EditAdminPostById(tx *gorm.DB, deptId int64, data interface{}) error {
err := tx.Model(&model.AdminPost{}).Where("post_id = ?", deptId).Updates(data).Error
func (r *AdminPostDao) EditAdminPostById(tx *gorm.DB, postId int64, data interface{}) error {
err := tx.Model(&model.AdminPost{}).Where("post_id = ?", postId).Updates(data).Error
if err != nil {
return err
}
@ -61,8 +61,8 @@ func (r *AdminPostDao) GetAdminPostPageSearch(getPostPage requests.GetPostPage,
query := global.Db.Model(&model.AdminPost{})
query = query.Where("post_status = ? ", 1)
if getPostPage.DeptName != "" {
query = query.Where("post_name like ?", "%"+getPostPage.DeptName+"%")
if getPostPage.PostName != "" {
query = query.Where("post_name like ?", "%"+getPostPage.PostName+"%")
}
// 查询总数量

View File

@ -83,3 +83,12 @@ func (r *AdminRoleDao) EditAdminRoleByIdWithStruct(tx *gorm.DB, roleId int64, mo
}
return nil
}
// GetAdminRoleList 获取角色列表
func (r *AdminRoleDao) GetAdminRoleList(maps interface{}) (m []*model.AdminRole, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}

View File

@ -2,6 +2,7 @@ package requests
type PostRequest struct {
GetPostPage // 获取岗位列表-分页
GetPostList // 获取岗位列表
AddPost // 新增岗位
DeletePost // 删除岗位-批量
PutPost // 修改岗位
@ -14,11 +15,16 @@ type AddPost struct {
// GetPostPage 获取岗位列表-分页
type GetPostPage struct {
DeptName string `json:"post_name" form:"post_name" label:"api名称"`
PostName string `json:"post_name" form:"post_name" label:"岗位名称"`
Page int `json:"page" form:"page" label:"页码"`
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
}
// GetPostList 获取岗位列表
type GetPostList struct {
PostName string `json:"post_name" form:"post_name" label:"岗位名称"`
}
// DeletePost 删除岗位-批量
type DeletePost struct {
PostIds []string `json:"post_ids" form:"post_ids" validate:"required" label:"岗位id"`

View File

@ -2,6 +2,7 @@ package requests
type RoleRequest struct {
GetRolePage // 获取角色列表-分页
GetRoleList // 获取角色列表
PutRoleStatus // 角色禁用/启用
AddRole // 新增角色
PutRole // 修改角色
@ -15,6 +16,11 @@ type GetRolePage struct {
PageSize int `json:"page_size" form:"page_size" label:"每页个数"`
}
// GetRoleList 获取角色列表
type GetRoleList struct {
RoleName string `json:"role_name" form:"role_name" label:"角色名称"`
}
// PutRoleStatus 角色禁用/启用
type PutRoleStatus struct {
RoleStatus int `json:"role_status" form:"role_status" validate:"oneof=1 2" label:"角色状态"` // 1:正常 2:禁用)

View File

@ -14,6 +14,15 @@ type getPostPage struct {
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// getPostList 获取岗位列表
type getPostList struct {
PostId string `json:"post_id"` // 主键id
PostName string `json:"post_name"` // 岗位名称
PostStatus int `json:"post_status"` // 岗位状态1:正常 2:删除)
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// GetPost 岗位详情
type GetPost struct {
PostId string `json:"post_id"` // 主键id
@ -57,3 +66,27 @@ func GetPostResponse(adminPost *model.AdminPost) *GetPost {
UpdatedAt: adminPost.UpdatedAt,
}
}
// GetPostListResponse 获取角色列表
func GetPostListResponse(adminPost []*model.AdminPost) []getPostList {
// 处理返回值
getPostListResponses := make([]getPostList, len(adminPost))
if len(adminPost) > 0 {
for i, v := range adminPost {
// 将原始结构体转换为新结构体
getPostListResponse := getPostList{
PostId: strconv.Itoa(int(v.PostId)),
PostName: v.PostName,
PostStatus: v.PostStatus,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 将转换后的结构体添加到新切片中
getPostListResponses[i] = getPostListResponse
}
}
return getPostListResponses
}

View File

@ -1,6 +1,9 @@
package roleResponse
import "hospital-admin-api/api/model"
import (
"hospital-admin-api/api/model"
"strconv"
)
// GetRoleMenuList 角色菜单列表
type GetRoleMenuList struct {
@ -36,3 +39,38 @@ type GetRolePage struct {
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// GetRoleList 获取角色列表
type GetRoleList struct {
RoleId string `json:"role_id"` // 角色id
RoleName string `json:"role_name"` // 角色名称
RoleStatus int `json:"role_status"` // 角色状态1:正常 2:禁用)
IsAdmin int `json:"is_admin"` // 是否管理员0:否 1:是)
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// GetRoleListResponse 获取角色列表
func GetRoleListResponse(adminRole []*model.AdminRole) []GetRoleList {
// 处理返回值
getRoleListResponses := make([]GetRoleList, len(adminRole))
if len(adminRole) > 0 {
for i, v := range adminRole {
// 将原始结构体转换为新结构体
getRoleListResponse := GetRoleList{
RoleId: strconv.Itoa(int(v.RoleId)),
RoleName: v.RoleName,
RoleStatus: v.RoleStatus,
IsAdmin: v.IsAdmin,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 将转换后的结构体添加到新切片中
getRoleListResponses[i] = getRoleListResponse
}
}
return getRoleListResponses
}

View File

@ -91,8 +91,8 @@ func privateRouter(r *gin.Engine, api controller.Api) {
// 删除角色-批量
roleGroup.DELETE("", api.Role.DeleteRole)
// 获取角色列表-分页
// roleGroup.GET("list", api.Role.GetRoleList)
// 获取角色列表
roleGroup.GET("/list", api.Role.GetRoleList)
}
// 菜单
@ -200,6 +200,9 @@ func privateRouter(r *gin.Engine, api controller.Api) {
// 修改岗位
postGroup.PUT("/:post_id", api.Post.PutPost)
// 获取岗位列表
postGroup.GET("/list", api.Post.GetPostList)
}
// 医生管理