|
|
@@ -98,10 +98,11 @@ func System_Logout(c *SystemController) {
|
|
|
// @Success 200 {object} models.Account
|
|
|
// @Failure 403 :id is empty
|
|
|
func System_GetNavTree(c *SystemController) {
|
|
|
- user := c.Ctx.Param(":user")
|
|
|
- ret := __none_func_system__(user)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
+
|
|
|
+ ret := __none_func_system__(user_id)
|
|
|
var menus []sysmodel.SysMenuTree
|
|
|
- c.Db.SQL(sysmodel.Selectall_sys_menu).Find(&menus)
|
|
|
+ c.Db.SQL(sysmodel.Selectall_nav_tree, user_id).Find(&menus)
|
|
|
|
|
|
var menutree []sysmodel.SysMenuTree
|
|
|
finChildrenMenu(&menus, "", nil, &menutree)
|
|
|
@@ -180,10 +181,12 @@ func finChildrenMenu(menus *[]sysmodel.SysMenuTree, parent string, parent_menu *
|
|
|
if m.Parent == parent {
|
|
|
if parent_menu == nil {
|
|
|
m.Level = 0
|
|
|
+ m.ParentName = ""
|
|
|
*menutree = append(*menutree, m)
|
|
|
//finChildrenMenu(menus, m.Id, menutree[len(*menutree)-1], menutree)
|
|
|
} else {
|
|
|
m.Level = parent_menu.Level + 1
|
|
|
+ m.ParentName = parent_menu.Name
|
|
|
parent_menu.Children = append(parent_menu.Children, m)
|
|
|
finChildrenMenu(menus, m.Id, &parent_menu.Children[len(parent_menu.Children)-1], menutree)
|
|
|
}
|
|
|
@@ -260,15 +263,14 @@ func System_AddUser(c *SystemController) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
|
|
|
user.Id = utils.NewUUID()
|
|
|
user.Name = user.LoginId
|
|
|
user.CreateTime = time.Now()
|
|
|
user.LastUpdateDate = time.Now()
|
|
|
- user.CreateBy = op.UserId
|
|
|
- user.LastUpdateBy = op.UserId
|
|
|
+ user.CreateBy = user_id
|
|
|
+ user.LastUpdateBy = user_id
|
|
|
user.DelFlag = 1
|
|
|
user.Password = utils.HashPassword(user.Password, "")
|
|
|
|
|
|
@@ -339,8 +341,7 @@ func System_DelUser(c *SystemController) {
|
|
|
// @Success 200 {object} models.Account
|
|
|
// @Failure 403 :id is empty
|
|
|
func System_UpdateUser(c *SystemController) {
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
|
|
|
var userInfo sysmodel.UserInfo
|
|
|
c.Ctx.BindJSON(&userInfo)
|
|
|
@@ -358,8 +359,8 @@ func System_UpdateUser(c *SystemController) {
|
|
|
//2、修改角色
|
|
|
for i, _ := range userInfo.UserRole {
|
|
|
userInfo.UserRole[i].Id = utils.NewUUID()
|
|
|
- userInfo.UserRole[i].CreateBy = op.UserId
|
|
|
- userInfo.UserRole[i].LastUpdateBy = op.UserId
|
|
|
+ userInfo.UserRole[i].CreateBy = user_id
|
|
|
+ userInfo.UserRole[i].LastUpdateBy = user_id
|
|
|
userInfo.UserRole[i].CreateTime = time.Now()
|
|
|
userInfo.UserRole[i].LastUpdateDate = time.Now()
|
|
|
userInfo.UserRole[i].DelFlag = 1
|
|
|
@@ -372,7 +373,7 @@ func System_UpdateUser(c *SystemController) {
|
|
|
}
|
|
|
|
|
|
//3、更新用户信息
|
|
|
- _, err = c.Db.Table(new(models.SysUser)).ID(userInfo.Id).Update(map[string]interface{}{"name": userInfo.Name, "email": userInfo.Email, "org_id": userInfo.OrgId, "last_update_by": op.UserId, "last_update_date": time.Now()})
|
|
|
+ _, err = c.Db.Table(new(models.SysUser)).ID(userInfo.Id).Update(map[string]interface{}{"name": userInfo.Name, "email": userInfo.Email, "org_id": userInfo.OrgId, "last_update_by": user_id, "last_update_date": time.Now()})
|
|
|
if err != nil {
|
|
|
session.Rollback()
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
@@ -400,13 +401,12 @@ func System_AddRole(c *SystemController) {
|
|
|
var role models.SysRole
|
|
|
c.Ctx.BindJSON(&role)
|
|
|
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
|
|
|
role.Id = utils.NewUUID()
|
|
|
role.DelFlag = 1
|
|
|
- role.CreateBy = op.UserId
|
|
|
- role.LastUpdateBy = op.UserId
|
|
|
+ role.CreateBy = user_id
|
|
|
+ role.LastUpdateBy = user_id
|
|
|
role.CreateTime = time.Now()
|
|
|
role.LastUpdateDate = time.Now()
|
|
|
|
|
|
@@ -466,10 +466,9 @@ func System_UpdateRole(c *SystemController) {
|
|
|
var role models.SysRole
|
|
|
c.Ctx.BindJSON(&role)
|
|
|
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
|
|
|
- role.LastUpdateBy = op.UserId
|
|
|
+ role.LastUpdateBy = user_id
|
|
|
role.LastUpdateDate = time.Now()
|
|
|
|
|
|
c.Db.ID(role.Id).Update(&role)
|
|
|
@@ -521,11 +520,14 @@ func System_FindRolePage(c *SystemController) {
|
|
|
// @Failure 403 :id is empty
|
|
|
func System_FindRoleMenu(c *SystemController) {
|
|
|
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ role_id, b := c.Ctx.GetQuery("roleId")
|
|
|
+ if !b {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{500, "roleId is null", nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
menus := []models.SysMenu{}
|
|
|
- c.Db.SQL(models.SqlSelectRoleMenuByUserId, op.UserId).Find(&menus)
|
|
|
+ c.Db.SQL(models.SqlFindRoleMenu, role_id).Find(&menus)
|
|
|
|
|
|
ret := __none_func_system__()
|
|
|
if ret {
|
|
|
@@ -542,10 +544,42 @@ func System_FindRoleMenu(c *SystemController) {
|
|
|
// @Success 200 {object} models.Account
|
|
|
// @Failure 403 :id is empty
|
|
|
func System_SaveRoleMenu(c *SystemController) {
|
|
|
- var saverolemenu []models.SaveRoleMenu
|
|
|
+ var saverolemenu []models.SysRoleMenu
|
|
|
|
|
|
c.Ctx.BindJSON(&saverolemenu)
|
|
|
|
|
|
+ if len(saverolemenu) < 1 {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{500, "role menu length is error", nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ session := c.Db.NewSession()
|
|
|
+ defer session.Close()
|
|
|
+ err := session.Begin()
|
|
|
+
|
|
|
+ //删除角色下的menu
|
|
|
+ _, err = c.Db.Exec("delete from sys_role_menu where role_id = ?", saverolemenu[0].RoleId)
|
|
|
+ //_, err = c.Db.Exec("delete from sys_role_menu where id = 1")
|
|
|
+ if err != nil {
|
|
|
+ session.Rollback()
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for i, _ := range saverolemenu {
|
|
|
+ saverolemenu[i].Id = utils.NewUUID()
|
|
|
+ saverolemenu[i].DelFlag = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ _, err = c.Db.Insert(&saverolemenu)
|
|
|
+ if err != nil {
|
|
|
+ session.Rollback()
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ session.Commit()
|
|
|
+
|
|
|
ret := __none_func_system__(&saverolemenu)
|
|
|
if ret {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
@@ -579,9 +613,24 @@ func System_RoleAll(c *SystemController) {
|
|
|
// @Failure 403 :id is empty
|
|
|
func System_FindPermissions(c *SystemController) {
|
|
|
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
+
|
|
|
+ //result, err := c.Db.Query(models.SqlFindUserPermissions, op.UserId)
|
|
|
+
|
|
|
+ result, err := c.Db.QueryString(models.SqlFindUserPermissions, user_id)
|
|
|
+
|
|
|
+ strs := []string{}
|
|
|
+ for _, v := range result {
|
|
|
+ strs = append(strs, v["perms"])
|
|
|
+ }
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
+ }
|
|
|
+
|
|
|
ret := __none_func_system__()
|
|
|
|
|
|
- strs := []string{"sys:menu:add", "sys:menu:view", "sys:menu:edit", "sys:menu:delete", "sys:user:edit", "sys:user:delete", "sys:user:add", "sys:role:view", "sys:role:edit", "sys:role:delete", "sys:role:add"}
|
|
|
+ //strs = []string{"sys:menu:add", "sys:menu:view", "sys:menu:edit", "sys:menu:delete", "sys:user:edit", "sys:user:delete", "sys:user:add", "sys:role:view", "sys:role:edit", "sys:role:delete", "sys:role:add"}
|
|
|
|
|
|
if ret {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", strs})
|
|
|
@@ -600,12 +649,11 @@ func System_AddMenu(c *SystemController) {
|
|
|
var sysmenu models.SysMenu
|
|
|
c.Ctx.BindJSON(&sysmenu)
|
|
|
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
|
|
|
sysmenu.Id = utils.NewUUID()
|
|
|
- sysmenu.CreateBy = op.UserId
|
|
|
- sysmenu.LastUpdateBy = op.UserId
|
|
|
+ sysmenu.CreateBy = user_id
|
|
|
+ sysmenu.LastUpdateBy = user_id
|
|
|
sysmenu.LastUpdateDate = time.Now()
|
|
|
sysmenu.CreateTime = time.Now()
|
|
|
sysmenu.DelFlag = 1
|
|
|
@@ -667,10 +715,9 @@ func System_UpdateMenu(c *SystemController) {
|
|
|
var sysmenu models.SysMenu
|
|
|
c.Ctx.BindJSON(&sysmenu)
|
|
|
|
|
|
- tk, _ := c.Ctx.Get("token")
|
|
|
- op := tk.(*entitys.Token)
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
|
|
|
- sysmenu.LastUpdateBy = op.UserId
|
|
|
+ sysmenu.LastUpdateBy = user_id
|
|
|
sysmenu.LastUpdateDate = time.Now()
|
|
|
|
|
|
_, err := c.Db.ID(sysmenu.Id).Update(&sysmenu)
|