修改1
This commit is contained in:
parent
588ae8ebdc
commit
71f682d99a
@ -17,7 +17,7 @@ func (r *Menu) GetMenuList(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(MenuList) == 0 {
|
if MenuList == nil {
|
||||||
responses.FailWithMessage("请联系管理人员设置菜单", c)
|
responses.FailWithMessage("请联系管理人员设置菜单", c)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,7 +62,7 @@ func (r *Role) GetRoleList(c *gin.Context) {
|
|||||||
|
|
||||||
AdminRoleDao := dao.AdminRoleDao{}
|
AdminRoleDao := dao.AdminRoleDao{}
|
||||||
adminRole, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRoleList.RoleName, RoleRequest.GetRoleList.Page, RoleRequest.GetRoleList.PageSize)
|
adminRole, err := AdminRoleDao.GetAdminRolePageSearch(RoleRequest.GetRoleList.RoleName, RoleRequest.GetRoleList.Page, RoleRequest.GetRoleList.PageSize)
|
||||||
if err != nil || len(adminRole) == 0 {
|
if err != nil || adminRole == nil {
|
||||||
responses.Ok(c)
|
responses.Ok(c)
|
||||||
c.Abort()
|
c.Abort()
|
||||||
return
|
return
|
||||||
@ -116,17 +116,29 @@ func (r *Role) PutRoleStatus(c *gin.Context) {
|
|||||||
|
|
||||||
// AddRole 新增角色
|
// AddRole 新增角色
|
||||||
func (r *Role) AddRole(c *gin.Context) {
|
func (r *Role) AddRole(c *gin.Context) {
|
||||||
// if err := c.ShouldBind(&RoleRequest.PutRoleStatus); err != nil {
|
if err := c.ShouldBindJSON(&RoleRequest.AddRole); err != nil {
|
||||||
// responses.FailWithMessage(err.Error(), c)
|
responses.FailWithMessage(err.Error(), c)
|
||||||
// return
|
return
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// // 参数验证
|
|
||||||
// if err := global.Validate.Struct(RoleRequest.PutRoleStatus); err != nil {
|
|
||||||
// responses.FailWithMessage(utils.Translate(err), c)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
// 参数验证
|
||||||
|
if err := global.Validate.Struct(RoleRequest.AddRole); err != nil {
|
||||||
|
responses.FailWithMessage(utils.Translate(err), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断菜单数据是否为空
|
||||||
|
if len(RoleRequest.AddRole.MenuIds) == 0 {
|
||||||
|
responses.FailWithMessage("请为角色添加菜单", c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
RoleService := service.RoleService{}
|
||||||
|
_, err := RoleService.AddRole(c, RoleRequest.AddRole)
|
||||||
|
if err != nil {
|
||||||
|
responses.FailWithMessage(err.Error(), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
responses.Ok(c)
|
responses.Ok(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import (
|
|||||||
type AdminMenuDao struct {
|
type AdminMenuDao struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAdminMenuList 获取菜单列表
|
||||||
func (r *AdminMenuDao) GetAdminMenuList() (m []*model.AdminMenu, err error) {
|
func (r *AdminMenuDao) GetAdminMenuList() (m []*model.AdminMenu, err error) {
|
||||||
err = global.Db.Find(&m).Error
|
err = global.Db.Find(&m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -16,6 +17,7 @@ func (r *AdminMenuDao) GetAdminMenuList() (m []*model.AdminMenu, err error) {
|
|||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAdminMenuListSortOrderNum 获取菜单列表-排序
|
||||||
func (r *AdminMenuDao) GetAdminMenuListSortOrderNum() (m []*model.AdminMenu, err error) {
|
func (r *AdminMenuDao) GetAdminMenuListSortOrderNum() (m []*model.AdminMenu, err error) {
|
||||||
err = global.Db.Order("order_num asc").Find(&m).Error
|
err = global.Db.Order("order_num asc").Find(&m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -23,3 +25,12 @@ func (r *AdminMenuDao) GetAdminMenuListSortOrderNum() (m []*model.AdminMenu, err
|
|||||||
}
|
}
|
||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAdminMenuById 获取菜单数据-菜单id
|
||||||
|
func (r *AdminMenuDao) GetAdminMenuById(menuId int64) (m *model.AdminMenu, err error) {
|
||||||
|
err = global.Db.First(&m, menuId).Error
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return m, nil
|
||||||
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package dao
|
package dao
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"gorm.io/gorm"
|
||||||
"hospital-admin-api/api/model"
|
"hospital-admin-api/api/model"
|
||||||
"hospital-admin-api/global"
|
"hospital-admin-api/global"
|
||||||
)
|
)
|
||||||
@ -10,28 +11,28 @@ type AdminRoleDao struct {
|
|||||||
|
|
||||||
// GetAdminRoleFirstById 角色id获取用户角色
|
// GetAdminRoleFirstById 角色id获取用户角色
|
||||||
// roleId 角色id
|
// roleId 角色id
|
||||||
func (r *AdminRoleDao) GetAdminRoleFirstById(roleId int64) (m model.AdminRole, err error) {
|
func (r *AdminRoleDao) GetAdminRoleFirstById(roleId int64) (m *model.AdminRole, err error) {
|
||||||
err = global.Db.First(&m, roleId).Error
|
err = global.Db.First(&m, roleId).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return m, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAdminRolePageSearch 搜索角色列表-分页
|
// GetAdminRolePageSearch 搜索角色列表-分页
|
||||||
func (r *AdminRoleDao) GetAdminRolePageSearch(roleName string, page, pageSize int) (m []model.AdminRole, err error) {
|
func (r *AdminRoleDao) GetAdminRolePageSearch(roleName string, page, pageSize int) (m []*model.AdminRole, err error) {
|
||||||
// 计算偏移量
|
// 计算偏移量
|
||||||
offset := (page - 1) * pageSize
|
offset := (page - 1) * pageSize
|
||||||
|
|
||||||
if roleName != "" {
|
if roleName != "" {
|
||||||
err = global.Db.Where("role_name = ?", roleName).Offset(offset).Limit(pageSize).Find(&m).Error
|
err = global.Db.Where("role_name = ?", roleName).Offset(offset).Limit(pageSize).Find(&m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return m, err
|
return nil, err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
err = global.Db.Offset(offset).Limit(pageSize).Find(&m).Error
|
err = global.Db.Offset(offset).Limit(pageSize).Find(&m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return m, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return m, nil
|
return m, nil
|
||||||
@ -45,3 +46,11 @@ func (r *AdminRoleDao) EditAdminRoleStatusById(roleId int64, roleStatus int) err
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddAdminRole 新增角色
|
||||||
|
func (r *AdminRoleDao) AddAdminRole(tx *gorm.DB, model *model.AdminRole) (*model.AdminRole, error) {
|
||||||
|
if err := tx.Create(model).Error; err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return model, nil
|
||||||
|
}
|
||||||
|
|||||||
@ -10,19 +10,19 @@ type AdminUserDao struct {
|
|||||||
|
|
||||||
// GetAdminUserFirstById 获取用户数据-用户id
|
// GetAdminUserFirstById 获取用户数据-用户id
|
||||||
// roleId 用户id
|
// roleId 用户id
|
||||||
func (r *AdminUserDao) GetAdminUserFirstById(userId int64) (m model.AdminUser, err error) {
|
func (r *AdminUserDao) GetAdminUserFirstById(userId int64) (m *model.AdminUser, err error) {
|
||||||
err = global.Db.First(&m, userId).Error
|
err = global.Db.First(&m, userId).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return m, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAdminUserFirstByAccess 获取用户数据-用户账号
|
// GetAdminUserFirstByAccess 获取用户数据-用户账号
|
||||||
func (r *AdminUserDao) GetAdminUserFirstByAccess(username string) (m model.AdminUser, err error) {
|
func (r *AdminUserDao) GetAdminUserFirstByAccess(username string) (m *model.AdminUser, err error) {
|
||||||
err = global.Db.Where("access = ?", username).First(&m).Error
|
err = global.Db.Where("access = ?", username).First(&m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return m, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return m, nil
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,7 @@ func Auth() gin.HandlerFunc {
|
|||||||
// 获取用户数据
|
// 获取用户数据
|
||||||
AdminUserDao := dao.AdminUserDao{}
|
AdminUserDao := dao.AdminUserDao{}
|
||||||
adminUser, err := AdminUserDao.GetAdminUserFirstById(userId)
|
adminUser, err := AdminUserDao.GetAdminUserFirstById(userId)
|
||||||
if err != nil || adminUser.UserID == 0 {
|
if err != nil || adminUser == nil {
|
||||||
responses.FailWithMessage("用户数据错误", c)
|
responses.FailWithMessage("用户数据错误", c)
|
||||||
c.Abort()
|
c.Abort()
|
||||||
return
|
return
|
||||||
@ -53,7 +53,7 @@ func Auth() gin.HandlerFunc {
|
|||||||
// 获取角色数据
|
// 获取角色数据
|
||||||
AdminRoleDao := dao.AdminRoleDao{}
|
AdminRoleDao := dao.AdminRoleDao{}
|
||||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||||
if err != nil || adminRole.RoleId == 0 {
|
if err != nil || adminRole == nil {
|
||||||
responses.FailWithMessage("用户数据错误", c)
|
responses.FailWithMessage("用户数据错误", c)
|
||||||
c.Abort()
|
c.Abort()
|
||||||
return
|
return
|
||||||
|
|||||||
@ -2,8 +2,8 @@ package model
|
|||||||
|
|
||||||
// AdminMenuApi 后台-菜单-接口表
|
// AdminMenuApi 后台-菜单-接口表
|
||||||
type AdminMenuApi struct {
|
type AdminMenuApi struct {
|
||||||
MenuId int64 `gorm:"column:menu_id;type:bigint(19);primary_key;comment:菜单id" json:"menu_id"`
|
MenuId int64 `gorm:"column:menu_id;type:bigint(19);comment:菜单id" json:"menu_id"`
|
||||||
ApiId int64 `gorm:"column:api_id;type:bigint(19);primary_key;comment:接口id" json:"api_id"`
|
ApiId int64 `gorm:"column:api_id;type:bigint(19);comment:接口id" json:"api_id"`
|
||||||
Menu AdminMenu `gorm:"foreignkey:MenuId;association_foreignkey:MenuID"`
|
Menu AdminMenu `gorm:"foreignkey:MenuId;association_foreignkey:MenuID"`
|
||||||
API AdminAPI `gorm:"foreignkey:ApiId;association_foreignkey:APIID"`
|
API AdminAPI `gorm:"foreignkey:ApiId;association_foreignkey:APIID"`
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,3 +12,15 @@ type AdminRole struct {
|
|||||||
func (m *AdminRole) TableName() string {
|
func (m *AdminRole) TableName() string {
|
||||||
return "gdxz_admin_role"
|
return "gdxz_admin_role"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func (a *AdminRole) BeforeCreate(tx *gorm.DB) (err error) {
|
||||||
|
// node, err := snowflake.NewNode(config.C.Snowflake)
|
||||||
|
// if err != nil {
|
||||||
|
// return err
|
||||||
|
// }
|
||||||
|
// tx.Statement.SetColumn("RoleId", node.Generate().Int64())
|
||||||
|
//
|
||||||
|
// a.Model.CreatedAt = LocalTime(time.Now())
|
||||||
|
// tx.Statement.SetColumn("CreatedAt", a.Model.CreatedAt)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"reflect"
|
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -59,26 +58,26 @@ func (t *LocalTime) String() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// BeforeCreate 注册 BeforeCreate 回调函数
|
// BeforeCreate 注册 BeforeCreate 回调函数
|
||||||
func (m *Model) BeforeCreate(tx *gorm.DB) (err error) {
|
// func (m *Model) BeforeCreate(tx *gorm.DB) (err error) {
|
||||||
// 动态访问 YourModel 结构体本身
|
// // 动态访问 YourModel 结构体本身
|
||||||
model := tx.Statement.Dest
|
// model := tx.Statement.Dest
|
||||||
|
//
|
||||||
// 设置创建时间
|
// // 设置创建时间
|
||||||
layout := "2006-01-02 15:04:05"
|
// layout := "2006-01-02 15:04:05"
|
||||||
strTime := "2019-08-09 11:35:52"
|
// strTime := "2019-08-09 11:35:52"
|
||||||
parsedTime, err := time.Parse(layout, strTime)
|
// parsedTime, err := time.Parse(layout, strTime)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return err
|
// return err
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 使用反射设置创建时间字段
|
// // 使用反射设置创建时间字段
|
||||||
createdAtField := reflect.ValueOf(model).Elem().FieldByName("CreatedAt")
|
// createdAtField := reflect.ValueOf(model).Elem().FieldByName("CreatedAt")
|
||||||
if createdAtField.CanSet() {
|
// if createdAtField.CanSet() {
|
||||||
createdAtField.Set(reflect.ValueOf(parsedTime))
|
// createdAtField.Set(reflect.ValueOf(parsedTime))
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
return nil
|
// return nil
|
||||||
}
|
// }
|
||||||
|
|
||||||
func (m *Model) BeforeUpdate(tx *gorm.DB) (err error) {
|
func (m *Model) BeforeUpdate(tx *gorm.DB) (err error) {
|
||||||
m.UpdatedAt = LocalTime(time.Now())
|
m.UpdatedAt = LocalTime(time.Now())
|
||||||
@ -86,3 +85,35 @@ func (m *Model) BeforeUpdate(tx *gorm.DB) (err error) {
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// BeforeCreate 注册 BeforeCreate 回调函数
|
||||||
|
func (m *Model) BeforeCreate(tx *gorm.DB) (err error) {
|
||||||
|
IdName := ""
|
||||||
|
field := tx.Statement.Schema.Fields
|
||||||
|
for _, v := range field {
|
||||||
|
if v.PrimaryKey {
|
||||||
|
IdName = v.Name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if IdName == "" {
|
||||||
|
return errors.New("主键错误")
|
||||||
|
}
|
||||||
|
|
||||||
|
// 动态访问 YourModel 结构体本身
|
||||||
|
model := tx.Statement.Dest
|
||||||
|
// primaryField := reflect.ValueOf(model).Elem().FieldByName(IdName)
|
||||||
|
//
|
||||||
|
// if primaryField.CanSet() {
|
||||||
|
// primaryField.SetColumn(reflect.ValueOf(parsedTime))
|
||||||
|
// }
|
||||||
|
|
||||||
|
fmt.Println(model)
|
||||||
|
m.CreatedAt = LocalTime(time.Now())
|
||||||
|
tx.Statement.SetColumn("CreatedAt", m.CreatedAt)
|
||||||
|
|
||||||
|
m.UpdatedAt = LocalTime(time.Now())
|
||||||
|
tx.Statement.SetColumn("UpdatedAt", m.UpdatedAt)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package requests
|
|||||||
type RoleRequest struct {
|
type RoleRequest struct {
|
||||||
GetRoleList // 获取角色列表
|
GetRoleList // 获取角色列表
|
||||||
PutRoleStatus // 角色禁用/启用
|
PutRoleStatus // 角色禁用/启用
|
||||||
|
AddRole // 新增角色
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetRoleList 获取角色列表
|
// GetRoleList 获取角色列表
|
||||||
@ -19,4 +20,7 @@ type PutRoleStatus struct {
|
|||||||
|
|
||||||
// AddRole 新增角色
|
// AddRole 新增角色
|
||||||
type AddRole struct {
|
type AddRole struct {
|
||||||
|
RoleName string `json:"role_name" form:"role_name" validate:"required" label:"角色名称"`
|
||||||
|
IsAdmin int `json:"is_admin" form:"is_admin" validate:"oneof=0 1" label:"是否管理员"` // (0:否 1:是)
|
||||||
|
MenuIds []int64 `json:"menu_ids" form:"menu_ids" validate:"required" label:"菜单"`
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,7 +17,7 @@ func (b *BasicService) Login(LoginRequest requests.Login) (basicResponse.Login,
|
|||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
AdminUserDao := dao.AdminUserDao{}
|
AdminUserDao := dao.AdminUserDao{}
|
||||||
adminUser, err := AdminUserDao.GetAdminUserFirstByAccess(LoginRequest.Access)
|
adminUser, err := AdminUserDao.GetAdminUserFirstByAccess(LoginRequest.Access)
|
||||||
if err != nil || adminUser.UserID == 0 {
|
if err != nil || adminUser == nil {
|
||||||
return basicResponse.Login{}, errors.New("用户名或密码错误")
|
return basicResponse.Login{}, errors.New("用户名或密码错误")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ func (r *MenuService) GetMenuList() ([]*menuResponse.GetMenuList, error) {
|
|||||||
AdminMenuDao := dao.AdminMenuDao{}
|
AdminMenuDao := dao.AdminMenuDao{}
|
||||||
adminMenu, _ := AdminMenuDao.GetAdminMenuListSortOrderNum()
|
adminMenu, _ := AdminMenuDao.GetAdminMenuListSortOrderNum()
|
||||||
if adminMenu == nil {
|
if adminMenu == nil {
|
||||||
return []*menuResponse.GetMenuList{}, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
menuMap := make(map[int64]*menuResponse.GetMenuList)
|
menuMap := make(map[int64]*menuResponse.GetMenuList)
|
||||||
|
|||||||
@ -2,9 +2,12 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
"hospital-admin-api/api/dao"
|
"hospital-admin-api/api/dao"
|
||||||
"hospital-admin-api/api/model"
|
"hospital-admin-api/api/model"
|
||||||
|
"hospital-admin-api/api/requests"
|
||||||
"hospital-admin-api/api/responses/roleResponse"
|
"hospital-admin-api/api/responses/roleResponse"
|
||||||
|
"hospital-admin-api/global"
|
||||||
)
|
)
|
||||||
|
|
||||||
type RoleService struct{}
|
type RoleService struct{}
|
||||||
@ -85,7 +88,7 @@ func (r *RoleService) PutRoleStatus(roleId int64, roleStatus int) (bool, error)
|
|||||||
// 获取请求角色数据
|
// 获取请求角色数据
|
||||||
AdminRoleDao := dao.AdminRoleDao{}
|
AdminRoleDao := dao.AdminRoleDao{}
|
||||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||||
if err != nil || adminRole.RoleId == 0 {
|
if err != nil || adminRole == nil {
|
||||||
return false, errors.New("非法操作")
|
return false, errors.New("非法操作")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,7 +110,7 @@ func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
|
|||||||
// 获取请求角色数据
|
// 获取请求角色数据
|
||||||
AdminRoleDao := dao.AdminRoleDao{}
|
AdminRoleDao := dao.AdminRoleDao{}
|
||||||
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
adminRole, err := AdminRoleDao.GetAdminRoleFirstById(roleId)
|
||||||
if err != nil || adminRole.RoleId == 0 {
|
if err != nil || adminRole == nil {
|
||||||
return nil, errors.New("非法操作")
|
return nil, errors.New("非法操作")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -128,3 +131,58 @@ func (r *RoleService) GetRole(roleId int64) (*roleResponse.GetRole, error) {
|
|||||||
|
|
||||||
return GetRoleResponse, nil
|
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
|
||||||
|
}
|
||||||
|
|||||||
@ -2,6 +2,8 @@ port: 8198 # 启动端口
|
|||||||
|
|
||||||
env: dev # 环境配置
|
env: dev # 环境配置
|
||||||
|
|
||||||
|
snowflake: 1 # 雪花算法机器id
|
||||||
|
|
||||||
# [数据库配置]
|
# [数据库配置]
|
||||||
mysql:
|
mysql:
|
||||||
host: '42.193.16.243'
|
host: '42.193.16.243'
|
||||||
@ -14,7 +16,8 @@ mysql:
|
|||||||
debug: true
|
debug: true
|
||||||
|
|
||||||
log:
|
log:
|
||||||
file-path: "/var/log/dev-hospital-admin-api/"
|
file-path: "./log/"
|
||||||
|
# file-path: "/var/log/dev-hospital-admin-api/"
|
||||||
file-name: "hospital-admin-api.log"
|
file-name: "hospital-admin-api.log"
|
||||||
|
|
||||||
# [redis]
|
# [redis]
|
||||||
|
|||||||
@ -3,11 +3,12 @@ package config
|
|||||||
var C Config
|
var C Config
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Port int `mapstructure:"port" json:"port" yaml:"port"`
|
Port int `mapstructure:"port" json:"port" yaml:"port"`
|
||||||
Env string `mapstructure:"env" json:"Env" yaml:"Env"`
|
Env string `mapstructure:"env" json:"Env" yaml:"Env"`
|
||||||
Mysql Mysql `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
|
Mysql Mysql `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
|
||||||
Log Log `mapstructure:"log" json:"log" yaml:"log"`
|
Log Log `mapstructure:"log" json:"log" yaml:"log"`
|
||||||
Redis Redis `mapstructure:"redis" json:"redis" yaml:"redis"`
|
Redis Redis `mapstructure:"redis" json:"redis" yaml:"redis"`
|
||||||
Jwt Jwt `mapstructure:"jwt" json:"jwt" yaml:"jwt"`
|
Jwt Jwt `mapstructure:"jwt" json:"jwt" yaml:"jwt"`
|
||||||
Oss Oss `mapstructure:"oss" json:"oss" yaml:"oss"`
|
Oss Oss `mapstructure:"oss" json:"oss" yaml:"oss"`
|
||||||
|
Snowflake int64 `mapstructure:"snowflake" json:"snowflake" yaml:"snowflake"`
|
||||||
}
|
}
|
||||||
|
|||||||
1
go.mod
1
go.mod
@ -19,6 +19,7 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
github.com/bwmarrin/snowflake v0.3.0 // indirect
|
||||||
github.com/bytedance/sonic v1.9.1 // indirect
|
github.com/bytedance/sonic v1.9.1 // indirect
|
||||||
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
||||||
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
|
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect
|
||||||
|
|||||||
2
go.sum
2
go.sum
@ -38,6 +38,8 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f
|
|||||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||||
|
github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0=
|
||||||
|
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
|
||||||
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
|
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
|
||||||
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
|
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
|
||||||
github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
|
github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user