新增部门接口

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
+156 -112
View File
@@ -2,8 +2,14 @@ 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/api/responses/deptResponse"
"hospital-admin-api/api/service"
"hospital-admin-api/global"
"hospital-admin-api/utils"
"strconv"
)
type Dept struct{}
@@ -27,116 +33,154 @@ func (r *Dept) GetDeptList(c *gin.Context) {
}
// AddDept 新增部门
// func (r *Dept) AddDept(c *gin.Context) {
// deptRequest := requests.DeptRequest{}
// if err := c.ShouldBind(&deptRequest.AddDept); err != nil {
// responses.FailWithMessage(err.Error(), c)
// return
// }
//
// // 参数验证
// if err := global.Validate.Struct(deptRequest.AddDept); err != nil {
// responses.FailWithMessage(utils.Translate(err), c)
// return
// }
//
// // 业务处理
// deptService := service.DeptService{}
// _, err := deptService.AddDept(deptRequest.AddDept)
// if err != nil {
// responses.FailWithMessage(err.Error(), c)
// return
// }
// responses.Ok(c)
// }
func (r *Dept) AddDept(c *gin.Context) {
deptRequest := requests.DeptRequest{}
if err := c.ShouldBind(&deptRequest.AddDept); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
//
// // GetDept 部门详情
// func (r *Dept) GetDept(c *gin.Context) {
// id := c.Param("dept_id")
// if id == "" {
// responses.FailWithMessage("缺少参数", c)
// return
// }
//
// // 将 id 转换为 int64 类型
// deptId, err := strconv.ParseInt(id, 10, 64)
// if err != nil {
// responses.Fail(c)
// return
// }
//
// // 获取部门详情
// adminDeptDao := dao.AdminDeptDao{}
// adminDept, err := adminDeptDao.GetAdminDeptById(deptId)
// if err != nil || adminDept == nil {
// responses.FailWithMessage("部门数据错误", c)
// return
// }
//
// // 处理返回值
// getDeptResponses := apiResponse.GetDeptResponse(adminDept)
//
// responses.OkWithData(getDeptResponses, c)
// }
//
// // DeleteDept 删除部门-批量
// func (r *Dept) DeleteDept(c *gin.Context) {
// deptRequest := requests.DeptRequest{}
// if err := c.ShouldBindJSON(&deptRequest.DeleteDept); err != nil {
// responses.FailWithMessage(err.Error(), c)
// return
// }
//
// // 参数验证
// if err := global.Validate.Struct(deptRequest.DeleteDept); err != nil {
// responses.FailWithMessage(utils.Translate(err), c)
// return
// }
//
// // 业务处理
// apiService := service.DeptService{}
// _, err := apiService.DeleteDept(c, deptRequest.DeleteDept)
// if err != nil {
// responses.FailWithMessage(err.Error(), c)
// return
// }
// responses.Ok(c)
// }
//
// // PutDept 修改部门
// func (r *Dept) PutDept(c *gin.Context) {
// deptRequest := requests.DeptRequest{}
// if err := c.ShouldBind(&deptRequest.PutDept); err != nil {
// responses.FailWithMessage(err.Error(), c)
// return
// }
//
// // 参数验证
// if err := global.Validate.Struct(deptRequest.PutDept); err != nil {
// responses.FailWithMessage(utils.Translate(err), c)
// return
// }
//
// id := c.Param("dept_id")
// if id == "" {
// responses.FailWithMessage("缺少参数", c)
// return
// }
//
// // 将 id 转换为 int64 类型
// deptId, err := strconv.ParseInt(id, 10, 64)
// if err != nil {
// responses.Fail(c)
// return
// }
//
// // 业务处理
// apiService := service.DeptService{}
// _, err = apiService.PutDept(c, deptId, deptRequest.PutDept)
// if err != nil {
// responses.FailWithMessage(err.Error(), c)
// return
// }
// responses.Ok(c)
// }
// 参数验证
if err := global.Validate.Struct(deptRequest.AddDept); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
// 获取角色身份
roleService := service.RoleService{}
isAdmin, err := roleService.GetRoleIden(c)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if !isAdmin {
responses.FailWithMessage("非管理员,无法添加部门", c)
return
}
// 业务处理
deptService := service.DeptService{}
_, err = deptService.AddDept(deptRequest.AddDept)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.Ok(c)
}
// GetDept 部门详情
func (r *Dept) GetDept(c *gin.Context) {
id := c.Param("dept_id")
if id == "" {
responses.FailWithMessage("缺少参数", c)
return
}
// 将 id 转换为 int64 类型
deptId, err := strconv.ParseInt(id, 10, 64)
if err != nil {
responses.Fail(c)
return
}
// 获取部门详情
adminDeptDao := dao.AdminDeptDao{}
adminDept, err := adminDeptDao.GetAdminDeptById(deptId)
if err != nil || adminDept == nil {
responses.FailWithMessage("部门数据错误", c)
return
}
// 处理返回值
getDeptResponses := deptResponse.GetDeptResponse(adminDept)
responses.OkWithData(getDeptResponses, c)
}
// DeleteDept 删除部门-批量
func (r *Dept) DeleteDept(c *gin.Context) {
deptRequest := requests.DeptRequest{}
if err := c.ShouldBindJSON(&deptRequest.DeleteDept); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(deptRequest.DeleteDept); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
// 获取角色身份
roleService := service.RoleService{}
isAdmin, err := roleService.GetRoleIden(c)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if !isAdmin {
responses.FailWithMessage("非管理员,无法添加部门", c)
return
}
// 业务处理
apiService := service.DeptService{}
_, err = apiService.DeleteDept(deptRequest.DeleteDept)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.Ok(c)
}
// PutDept 修改部门
func (r *Dept) PutDept(c *gin.Context) {
deptRequest := requests.DeptRequest{}
if err := c.ShouldBind(&deptRequest.PutDept); err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 参数验证
if err := global.Validate.Struct(deptRequest.PutDept); err != nil {
responses.FailWithMessage(utils.Translate(err), c)
return
}
id := c.Param("dept_id")
if id == "" {
responses.FailWithMessage("缺少参数", c)
return
}
// 将 id 转换为 int64 类型
deptId, err := strconv.ParseInt(id, 10, 64)
if err != nil {
responses.Fail(c)
return
}
// 获取角色身份
roleService := service.RoleService{}
isAdmin, err := roleService.GetRoleIden(c)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
if !isAdmin {
responses.FailWithMessage("非管理员,无法添加部门", c)
return
}
// 业务处理
apiService := service.DeptService{}
_, err = apiService.PutDept(deptId, deptRequest.PutDept)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
responses.Ok(c)
}