diff --git a/apis/system/role.go b/apis/system/role.go index b762806f..f4c303c5 100644 --- a/apis/system/role.go +++ b/apis/system/role.go @@ -101,6 +101,7 @@ func UpdateRole(c *gin.Context) { err := c.Bind(&data) tools.HasError(err, "数据解析失败", -1) result, err := data.Update(data.RoleId) + tools.HasError(err, "", -1) var t models.RoleMenu _, err = t.DeleteRoleMenu(data.RoleId) tools.HasError(err, "添加失败1", -1) diff --git a/config/db.sql b/config/db.sql index a9efd992..b96d52b7 100644 --- a/config/db.sql +++ b/config/db.sql @@ -348,19 +348,6 @@ INSERT INTO `sys_menu` VALUES (120, NULL, '通过id获取岗位信息', 'bug', ' INSERT INTO `sys_menu` VALUES (121, NULL, '创建岗位', 'bug', '/api/v1/post', '/0/63/204/121', 'A', 'POST', NULL, 204, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); INSERT INTO `sys_menu` VALUES (122, NULL, '修改岗位', 'bug', '/api/v1/post', '/0/63/204/122', 'A', 'PUT', NULL, 204, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); INSERT INTO `sys_menu` VALUES (123, NULL, '删除岗位', 'bug', '/api/v1/post/:id', '/0/63/204/123', 'A', 'DELETE', NULL, 204, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (124, NULL, '获取排班信息', 'bug', '/api/v1/calendar', '/0/63/210/124', 'A', 'GET', NULL, 210, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (125, NULL, '创建排班', 'bug', '/api/v1/calendar', '/0/63/210/125', 'A', 'POST', NULL, 210, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (126, NULL, '修改排班', 'bug', '/api/v1/calendar/:id', '/0/63/210/126', 'A', 'PUT', NULL, 210, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (127, NULL, '删除排班', 'bug', '/api/v1/calendar/:id', '/0/63/210/127', 'A', 'DELETE', NULL, 210, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (128, NULL, '获取会员', 'bug', '/api/v1/member', '/0/63/207/128', 'A', 'GET', NULL, 207, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (129, NULL, '创建会员', 'bug', '/api/v1/member', '/0/63/207/129', 'A', 'POST', NULL, 207, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (130, NULL, '修改会员', 'bug', '/api/v1/member/:id', '/0/63/207/130', 'A', 'PUT', NULL, 207, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (131, NULL, '删除会员', 'bug', '/api/v1/member/:id', '/0/63/207/131', 'A', 'DELETE', NULL, 207, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (132, NULL, '获取订单', 'bug', '/api/v1/orders', '/0/63/209/132', 'A', 'GET', NULL, 209, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (133, NULL, '通过id获取订单', 'bug', '/api/v1/orders/:id', '/0/63/209/133', 'A', 'GET', NULL, 209, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (134, NULL, '新建订单', 'bug', '/api/v1/orders', '/0/63/209/134', 'A', 'POST', NULL, 209, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (135, NULL, '修改订单', 'bug', '/api/v1/orders/:id', '/0/63/209/135', 'A', 'PUT', NULL, 209, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); -INSERT INTO `sys_menu` VALUES (136, NULL, '删除订单', 'bug', '/api/v1/orders/:id', '/0/63/209/136', 'A', 'DELETE', NULL, 209, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); INSERT INTO `sys_menu` VALUES (137, NULL, '菜单列表', 'bug', '/api/v1/menulist', '/0/63/66/137', 'A', 'GET', NULL, 66, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); INSERT INTO `sys_menu` VALUES (138, NULL, '获取根据id菜单信息', 'bug', '/api/v1/menu/:id', '/0/63/66/138', 'A', 'GET', NULL, 66, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); INSERT INTO `sys_menu` VALUES (139, NULL, '创建菜单', 'bug', '/api/v1/menu', '/0/63/66/139', 'A', 'POST', NULL, 66, NULL, NULL, NULL, 0, '1', '1', '1', 0, '2020-04-11 15:52:48', NULL, NULL); diff --git a/go.mod b/go.mod index 74922516..fc7d1b20 100644 --- a/go.mod +++ b/go.mod @@ -23,6 +23,7 @@ require ( github.com/mitchellh/go-homedir v1.1.0 github.com/mojocn/base64Captcha v1.3.1 github.com/mssola/user_agent v0.5.1 + github.com/pkg/errors v0.8.1 github.com/robfig/cron/v3 v3.0.0 github.com/satori/go.uuid v1.2.0 github.com/shirou/gopsutil v2.20.3+incompatible diff --git a/models/role.go b/models/role.go index 315c0f56..77dc8070 100644 --- a/models/role.go +++ b/models/role.go @@ -1,25 +1,26 @@ package models import ( + "github.com/pkg/errors" orm "go-admin/database" "go-admin/tools" ) type SysRole struct { - RoleId int `json:"roleId" gorm:"primary_key;AUTO_INCREMENT"` // 角色编码 - RoleName string `json:"roleName" gorm:"type:varchar(128);"` // 角色名称 - Status string `json:"status" gorm:"type:int(1);"` // - RoleKey string `json:"roleKey" gorm:"type:varchar(128);"` //角色代码 - RoleSort int `json:"roleSort" gorm:"type:int(4);"` //角色排序 - Flag string `json:"flag" gorm:"type:varchar(128);"` // - CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // - UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // - Remark string `json:"remark" gorm:"type:varchar(255);"` //备注 - Admin bool `json:"admin" gorm:"type:char(1);"` + RoleId int `json:"roleId" gorm:"primary_key;AUTO_INCREMENT"` // 角色编码 + RoleName string `json:"roleName" gorm:"type:varchar(128);"` // 角色名称 + Status string `json:"status" gorm:"type:int(1);"` // + RoleKey string `json:"roleKey" gorm:"type:varchar(128);"` //角色代码 + RoleSort int `json:"roleSort" gorm:"type:int(4);"` //角色排序 + Flag string `json:"flag" gorm:"type:varchar(128);"` // + CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // + UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // + Remark string `json:"remark" gorm:"type:varchar(255);"` //备注 + Admin bool `json:"admin" gorm:"type:char(1);"` DataScope string `json:"dataScope" gorm:"type:varchar(128);"` - Params string `json:"params" gorm:"-"` - MenuIds []int `json:"menuIds" gorm:"-"` - DeptIds []int `json:"deptIds" gorm:"-"` + Params string `json:"params" gorm:"-"` + MenuIds []int `json:"menuIds" gorm:"-"` + DeptIds []int `json:"deptIds" gorm:"-"` BaseModel } @@ -107,6 +108,11 @@ func (role *SysRole) GetRoleMeunId() ([]int, error) { } func (role *SysRole) Insert() (id int, err error) { + i := 0 + orm.Eloquent.Table("sys_role").Where("role_name=? or role_key = ?", role.RoleName, role.RoleKey).Count(&i) + if i > 0 { + return 0, errors.New("角色名称或者角色标识已经存在!") + } role.UpdateBy = "" result := orm.Eloquent.Table("sys_role").Create(&role) if result.Error != nil { @@ -141,6 +147,14 @@ func (role *SysRole) Update(id int) (update SysRole, err error) { return } + if role.RoleName != "" && role.RoleName != update.RoleName { + return update, errors.New("角色名称不允许修改!") + } + + if role.RoleKey != "" && role.RoleKey != update.RoleKey { + return update, errors.New("角色标识不允许修改!") + } + //参数1:是要修改的数据 //参数2:是修改的数据 if err = orm.Eloquent.Table("sys_role").Model(&update).Updates(&role).Error; err != nil {