This commit is contained in:
2023-06-13 17:08:48 +08:00
parent 588ae8ebdc
commit 71f682d99a
17 changed files with 202 additions and 58 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ func (b *BasicService) Login(LoginRequest requests.Login) (basicResponse.Login,
// 获取用户信息
AdminUserDao := dao.AdminUserDao{}
adminUser, err := AdminUserDao.GetAdminUserFirstByAccess(LoginRequest.Access)
if err != nil || adminUser.UserID == 0 {
if err != nil || adminUser == nil {
return basicResponse.Login{}, errors.New("用户名或密码错误")
}
+1 -1
View File
@@ -13,7 +13,7 @@ func (r *MenuService) GetMenuList() ([]*menuResponse.GetMenuList, error) {
AdminMenuDao := dao.AdminMenuDao{}
adminMenu, _ := AdminMenuDao.GetAdminMenuListSortOrderNum()
if adminMenu == nil {
return []*menuResponse.GetMenuList{}, nil
return nil, nil
}
menuMap := make(map[int64]*menuResponse.GetMenuList)
+60 -2
View File
@@ -2,9 +2,12 @@ package service
import (
"errors"
"github.com/gin-gonic/gin"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/model"
"hospital-admin-api/api/requests"
"hospital-admin-api/api/responses/roleResponse"
"hospital-admin-api/global"
)
type RoleService struct{}
@@ -85,7 +88,7 @@ func (r *RoleService) PutRoleStatus(roleId int64, roleStatus int) (bool, error)
// 获取请求角色数据
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
if err != nil || adminRole.RoleId == 0 {
if err != nil || adminRole == nil {
return false, errors.New("非法操作")
}
@@ -107,7 +110,7 @@ func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
// 获取请求角色数据
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
if err != nil || adminRole.RoleId == 0 {
if err != nil || adminRole == nil {
return nil, errors.New("非法操作")
}
@@ -128,3 +131,58 @@ func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
return GetRoleResponse, nil
}
// AddRole 新增角色
func (r *RoleService) AddRole(c *gin.Context, AddRoleRequest requests.AddRole) (bool, error) {
roleId := c.GetInt64("RoleId")
if roleId == 0 {
return false, errors.New("数据错误")
}
// 获取当前登陆用户数据
AdminRoleDao := dao.AdminRoleDao{}
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
if err != nil || adminRole == nil {
return false, errors.New("非法操作")
}
if AddRoleRequest.IsAdmin == 1 && adminRole.IsAdmin == 0 {
return false, errors.New("您当前为普通用户,无法添加管理员用户")
}
AdminMenuDao := dao.AdminMenuDao{}
// 判断菜单id
for _, menuId := range AddRoleRequest.MenuIds {
adminMenu, _ := AdminMenuDao.GetAdminMenuById(menuId)
if adminMenu == nil {
return false, errors.New("菜单错误")
}
}
// 开始事务
tx := global.Db.Begin()
// defer func() {
// if r := recover(); r != nil {
// tx.Rollback()
// }
// }()
// 新增角色
AdminRoleModel := &model.AdminRole{
RoleId: 10,
RoleName: AddRoleRequest.RoleName,
IsAdmin: AddRoleRequest.IsAdmin,
}
adminRole, err = AdminRoleDao.AddAdminRole(tx, AdminRoleModel)
if err != nil || adminRole == nil {
tx.Rollback()
return false, errors.New("非法操作")
}
tx.Commit()
// 新增角色菜单
return true, nil
}