新增岗位接口

This commit is contained in:
2023-06-30 17:35:46 +08:00
parent 002353cc30
commit a2a1f1666c
10 changed files with 524 additions and 15 deletions
+117
View File
@@ -0,0 +1,117 @@
package service
import (
"errors"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/model"
"hospital-admin-api/api/requests"
"hospital-admin-api/global"
"strconv"
)
type PostService struct {
}
// AddPost 新增岗位
func (r *PostService) AddPost(addPostRequest requests.AddPost) (bool, error) {
adminPostDao := dao.AdminPostDao{}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
// 新增岗位
adminPostModel := &model.AdminPost{
PostName: addPostRequest.PostName,
PostStatus: 1,
}
adminMenu, _ := adminPostDao.AddAdminPost(tx, adminPostModel)
if adminMenu == nil {
tx.Rollback()
return false, errors.New("新增失败")
}
tx.Commit()
return true, nil
}
// DeletePost 删除岗位-批量
func (r *PostService) DeletePost(deletePostRequest requests.DeletePost) (bool, error) {
adminPostDao := dao.AdminPostDao{}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
for _, v := range deletePostRequest.PostIds {
// 将字符串转换为int64类型
v, err := strconv.ParseInt(v, 10, 64)
if err != nil {
tx.Rollback()
return false, errors.New("菜单错误")
}
// 检测删除岗位
adminPost, err := adminPostDao.GetAdminPostById(v)
if err != nil || adminPost == nil {
tx.Rollback()
return false, errors.New("删除失败")
}
// 修改岗位为删除
data := make(map[string]interface{})
data["post_status"] = 2
err = adminPostDao.EditAdminPostById(tx, v, data)
if err != nil {
tx.Rollback()
return false, errors.New("删除失败")
}
}
tx.Commit()
return true, nil
}
// PutPost 修改岗位
func (r *PostService) PutPost(requestPostId int64, putPostRequest requests.PutPost) (bool, error) {
adminPostDao := dao.AdminPostDao{}
// 获取需修改岗位数据
adminPost, err := adminPostDao.GetAdminPostById(requestPostId)
if err != nil || adminPost == nil {
return false, errors.New("岗位数据错误")
}
// 开始事务
tx := global.Db.Begin()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
}
}()
// 修改岗位
data := make(map[string]interface{})
data["post_name"] = putPostRequest.PostName
data["post_status"] = putPostRequest.PostStatus
err = adminPostDao.EditAdminPostById(tx, requestPostId, data)
if err != nil {
tx.Rollback()
return false, errors.New("修改失败")
}
tx.Commit()
return true, nil
}
+2 -2
View File
@@ -84,7 +84,7 @@ func (r *UserService) AddUser(c *gin.Context, AddUserRequest requests.AddUser) (
return false, errors.New("岗位错误")
}
adminPost, err := AdminPostDao.GetAdminPostFirstById(postID)
adminPost, err := AdminPostDao.GetAdminPostById(postID)
if err != nil || adminPost == nil {
return false, errors.New("岗位错误")
}
@@ -299,7 +299,7 @@ func (r *UserService) PutUser(c *gin.Context, requestUserId int64, putUserReques
if postID != adminUser.PostID {
adminPostDao := dao.AdminPostDao{}
res, err := adminPostDao.GetAdminPostFirstById(postID)
res, err := adminPostDao.GetAdminPostById(postID)
if err != nil || res == nil {
return false, errors.New("岗位错误")
}