Control role_name and tole_key cannot be duplicate

This commit is contained in:
zhangwenjian
2020-05-14 21:11:55 +08:00
parent 221ee539cd
commit 6d2c267121
4 changed files with 29 additions and 26 deletions
+1
View File
@@ -101,6 +101,7 @@ func UpdateRole(c *gin.Context) {
err := c.Bind(&data) err := c.Bind(&data)
tools.HasError(err, "数据解析失败", -1) tools.HasError(err, "数据解析失败", -1)
result, err := data.Update(data.RoleId) result, err := data.Update(data.RoleId)
tools.HasError(err, "", -1)
var t models.RoleMenu var t models.RoleMenu
_, err = t.DeleteRoleMenu(data.RoleId) _, err = t.DeleteRoleMenu(data.RoleId)
tools.HasError(err, "添加失败1", -1) tools.HasError(err, "添加失败1", -1)
-13
View File
@@ -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 (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 (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 (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 (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 (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); 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);
+1
View File
@@ -23,6 +23,7 @@ require (
github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-homedir v1.1.0
github.com/mojocn/base64Captcha v1.3.1 github.com/mojocn/base64Captcha v1.3.1
github.com/mssola/user_agent v0.5.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/robfig/cron/v3 v3.0.0
github.com/satori/go.uuid v1.2.0 github.com/satori/go.uuid v1.2.0
github.com/shirou/gopsutil v2.20.3+incompatible github.com/shirou/gopsutil v2.20.3+incompatible
+27 -13
View File
@@ -1,25 +1,26 @@
package models package models
import ( import (
"github.com/pkg/errors"
orm "go-admin/database" orm "go-admin/database"
"go-admin/tools" "go-admin/tools"
) )
type SysRole struct { type SysRole struct {
RoleId int `json:"roleId" gorm:"primary_key;AUTO_INCREMENT"` // 角色编码 RoleId int `json:"roleId" gorm:"primary_key;AUTO_INCREMENT"` // 角色编码
RoleName string `json:"roleName" gorm:"type:varchar(128);"` // 角色名称 RoleName string `json:"roleName" gorm:"type:varchar(128);"` // 角色名称
Status string `json:"status" gorm:"type:int(1);"` // Status string `json:"status" gorm:"type:int(1);"` //
RoleKey string `json:"roleKey" gorm:"type:varchar(128);"` //角色代码 RoleKey string `json:"roleKey" gorm:"type:varchar(128);"` //角色代码
RoleSort int `json:"roleSort" gorm:"type:int(4);"` //角色排序 RoleSort int `json:"roleSort" gorm:"type:int(4);"` //角色排序
Flag string `json:"flag" gorm:"type:varchar(128);"` // Flag string `json:"flag" gorm:"type:varchar(128);"` //
CreateBy string `json:"createBy" gorm:"type:varchar(128);"` // CreateBy string `json:"createBy" gorm:"type:varchar(128);"` //
UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` // UpdateBy string `json:"updateBy" gorm:"type:varchar(128);"` //
Remark string `json:"remark" gorm:"type:varchar(255);"` //备注 Remark string `json:"remark" gorm:"type:varchar(255);"` //备注
Admin bool `json:"admin" gorm:"type:char(1);"` Admin bool `json:"admin" gorm:"type:char(1);"`
DataScope string `json:"dataScope" gorm:"type:varchar(128);"` DataScope string `json:"dataScope" gorm:"type:varchar(128);"`
Params string `json:"params" gorm:"-"` Params string `json:"params" gorm:"-"`
MenuIds []int `json:"menuIds" gorm:"-"` MenuIds []int `json:"menuIds" gorm:"-"`
DeptIds []int `json:"deptIds" gorm:"-"` DeptIds []int `json:"deptIds" gorm:"-"`
BaseModel BaseModel
} }
@@ -107,6 +108,11 @@ func (role *SysRole) GetRoleMeunId() ([]int, error) {
} }
func (role *SysRole) Insert() (id int, err 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 = "" role.UpdateBy = ""
result := orm.Eloquent.Table("sys_role").Create(&role) result := orm.Eloquent.Table("sys_role").Create(&role)
if result.Error != nil { if result.Error != nil {
@@ -141,6 +147,14 @@ func (role *SysRole) Update(id int) (update SysRole, err error) {
return return
} }
if role.RoleName != "" && role.RoleName != update.RoleName {
return update, errors.New("角色名称不允许修改!")
}
if role.RoleKey != "" && role.RoleKey != update.RoleKey {
return update, errors.New("角色标识不允许修改!")
}
//参数1:是要修改的数据 //参数1:是要修改的数据
//参数2:是修改的数据 //参数2:是修改的数据
if err = orm.Eloquent.Table("sys_role").Model(&update).Updates(&role).Error; err != nil { if err = orm.Eloquent.Table("sys_role").Model(&update).Updates(&role).Error; err != nil {