新增部门接口

This commit is contained in:
2023-06-30 16:55:41 +08:00
parent 188a8f0d02
commit 002353cc30
10 changed files with 379 additions and 216 deletions
+2 -1
View File
@@ -110,6 +110,7 @@ func (r *ApiService) DeleteApi(c *gin.Context, deleteApiRequest requests.DeleteA
// 将字符串转换为int64类型
v, err := strconv.ParseInt(v, 10, 64)
if err != nil {
tx.Rollback()
return false, errors.New("菜单错误")
}
@@ -189,7 +190,7 @@ func (r *ApiService) PutApi(c *gin.Context, requestApiId int64, putApiRequest re
}
}()
// 修改角色
// 修改接口
data := make(map[string]interface{})
data["api_name"] = putApiRequest.ApiName
data["api_path"] = putApiRequest.ApiPath
+138 -79
View File
@@ -1,8 +1,12 @@
package service
import (
"errors"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/model"
"hospital-admin-api/api/requests"
"hospital-admin-api/api/responses/deptResponse"
"hospital-admin-api/global"
"strconv"
)
@@ -13,7 +17,10 @@ type DeptService struct {
func (r *DeptService) GetDeptList() ([]*deptResponse.GetDeptList, error) {
// 获取全部部门
adminDeptDao := dao.AdminDeptDao{}
adminDept, _ := adminDeptDao.GetAdminDeptList()
maps := make(map[string]interface{})
maps["dept_status"] = 1
adminDept, _ := adminDeptDao.GetAdminDeptList(maps)
if adminDept == nil {
return nil, nil
}
@@ -50,81 +57,133 @@ func (r *DeptService) GetDeptList() ([]*deptResponse.GetDeptList, error) {
}
// AddDept 新增部门
// func (r *DeptService) AddDept(addDeptRequest requests.AddDept) (bool, error) {
// adminDeptDao := dao.AdminDeptDao{}
//
// parentId, err := strconv.ParseInt(addDeptRequest.ParentId, 10, 64)
// if err != nil {
// return false, errors.New("新增失败")
// }
//
// // 判断父级id
// if parentId != 0 {
// adminDept, _ := adminDeptDao.GetAdminDeptById(parentId)
// if adminDept == nil {
// return false, errors.New("上级部门错误")
// }
// }
//
// // 开始事务
// tx := global.Db.Begin()
// defer func() {
// if r := recover(); r != nil {
// tx.Rollback()
// }
// }()
//
// // 新增菜单
// AdminMenuModel := &model.AdminMenu{
// MenuName: AddMenuRequest.MenuName,
// MenuTitle: AddMenuRequest.MenuTitle,
// ParentId: ParentId,
// MenuStatus: AddMenuRequest.MenuStatus,
// MenuType: AddMenuRequest.MenuType,
// Permission: AddMenuRequest.Permission,
// OrderNum: AddMenuRequest.OrderNum,
// Icon: AddMenuRequest.Icon,
// Path: AddMenuRequest.Path,
// Component: AddMenuRequest.Component,
// }
//
// adminMenu, _ := AdminMenuDao.AddAdminMenu(tx, AdminMenuModel)
// if adminMenu == nil {
// tx.Rollback()
// return false, errors.New("新增失败")
// }
//
// // 新增菜单api
// if len(AddMenuRequest.ApiIds) > 0 {
// for _, v := range AddMenuRequest.ApiIds {
// // 将字符串转换为int64类型
// v, err := strconv.ParseInt(v, 10, 64)
// if err != nil {
// tx.Rollback()
// return false, errors.New("新增失败")
// }
//
// // 检测api
// adminApi, _ := AdminApiDao.GetAdminApiById(v)
// if adminApi == nil {
// tx.Rollback()
// return false, errors.New("接口不存在")
// }
//
// AdminMenuApiModel := &model.AdminMenuApi{
// MenuId: adminMenu.MenuId,
// ApiId: v,
// }
//
// adminMenuApi, _ := AdminMenuApiDao.AddAdminMenuApi(tx, AdminMenuApiModel)
// if adminMenuApi == nil {
// tx.Rollback()
// return false, errors.New("新增失败")
// }
// }
// }
//
// tx.Commit()
//
// return true, nil
// }
func (r *DeptService) AddDept(addDeptRequest requests.AddDept) (bool, error) {
adminDeptDao := dao.AdminDeptDao{}
parentId, err := strconv.ParseInt(addDeptRequest.ParentId, 10, 64)
if err != nil {
return false, errors.New("新增失败")
}
// 判断父级id
if parentId != 0 {
adminDept, _ := adminDeptDao.GetAdminDeptById(parentId)
if adminDept == nil {
return false, errors.New("上级部门错误")
}
}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
// 新增菜单
adminDeptModel := &model.AdminDept{
ParentId: parentId,
DeptName: addDeptRequest.DeptName,
DeptStatus: 1,
}
adminMenu, _ := adminDeptDao.AddAdminDept(tx, adminDeptModel)
if adminMenu == nil {
tx.Rollback()
return false, errors.New("新增失败")
}
tx.Commit()
return true, nil
}
// DeleteDept 删除部门-批量
func (r *DeptService) DeleteDept(deleteDeptRequest requests.DeleteDept) (bool, error) {
adminDeptDao := dao.AdminDeptDao{}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
for _, v := range deleteDeptRequest.DeptIds {
// 将字符串转换为int64类型
v, err := strconv.ParseInt(v, 10, 64)
if err != nil {
tx.Rollback()
return false, errors.New("菜单错误")
}
// 检测删除部门
adminDept, err := adminDeptDao.GetAdminDeptById(v)
if err != nil || adminDept == nil {
tx.Rollback()
return false, errors.New("删除失败")
}
// 修改部门为删除
data := make(map[string]interface{})
data["dept_status"] = 2
err = adminDeptDao.EditAdminDeptById(tx, v, data)
if err != nil {
tx.Rollback()
return false, errors.New("删除失败")
}
}
tx.Commit()
return true, nil
}
// PutDept 修改部门
func (r *DeptService) PutDept(requestDeptId int64, putDeptRequest requests.PutDept) (bool, error) {
adminDeptDao := dao.AdminDeptDao{}
// 获取需修改部门数据
adminDept, err := adminDeptDao.GetAdminDeptById(requestDeptId)
if err != nil || adminDept == nil {
return false, errors.New("部门数据错误")
}
// 判断父级id
parentId, err := strconv.ParseInt(putDeptRequest.ParentId, 10, 64)
if err != nil {
return false, errors.New("新增失败")
}
if parentId != 0 {
adminDept, _ := adminDeptDao.GetAdminDeptById(parentId)
if adminDept == nil {
return false, errors.New("上级部门错误")
}
}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
// 修改部门
data := make(map[string]interface{})
data["parent_id"] = parentId
data["dept_name"] = putDeptRequest.DeptName
data["dept_status"] = putDeptRequest.DeptStatus
err = adminDeptDao.EditAdminDeptById(tx, requestDeptId, data)
if err != nil {
tx.Rollback()
return false, errors.New("修改失败")
}
tx.Commit()
return true, nil
}
+7 -7
View File
@@ -40,17 +40,17 @@ func (r *RoleService) GetRoleMenuList(roleId int64, isAdmin bool) ([]*roleRespon
return []*roleResponse.GetRoleMenuList{}, nil
}
var menuTree []*roleResponse.GetRoleMenuList
var getRoleMenuListResponse []*roleResponse.GetRoleMenuList
if len(menuIDs) > 0 {
// 构建菜单树
menuTree = buildMenuTree(menuIDs, adminMenu)
if menuTree == nil {
getRoleMenuListResponse = buildMenuTree(menuIDs, adminMenu)
if getRoleMenuListResponse == nil {
return nil, nil
}
}
return menuTree, nil
return getRoleMenuListResponse, nil
}
// 获取角色菜单-构建菜单树
@@ -359,9 +359,9 @@ func (r *RoleService) DeleteRole(c *gin.Context, DeleteRoleRequest requests.Dele
// 获取绑定该角色的用户
maps := make(map[string]interface{})
maps["role_id"] = v
AdminUser, err := AdminUserDao.GetAdminUserList(maps)
if AdminUser != nil {
for _, user := range AdminUser {
adminUser, err := AdminUserDao.GetAdminUserList(maps)
if adminUser != nil {
for _, user := range adminUser {
// 修改对应用户角色id为0
data := make(map[string]interface{})
data["role_id"] = nil
+1
View File
@@ -175,6 +175,7 @@ func (r *UserService) DeleteUser(c *gin.Context, DeleteUserRequest requests.Dele
// 将字符串转换为int64类型
v, err := strconv.ParseInt(v, 10, 64)
if err != nil {
tx.Rollback()
return false, errors.New("菜单错误")
}