|
@@ -188,7 +188,7 @@ func System_AddUser(c *entitys.CtrlContext) {
|
|
|
user_id := c.Ctx.GetString("user_id")
|
|
user_id := c.Ctx.GetString("user_id")
|
|
|
user.Id = sysutils.NewUUID()
|
|
user.Id = sysutils.NewUUID()
|
|
|
user.Name = user.LoginId
|
|
user.Name = user.LoginId
|
|
|
- user.CreateTime = time.Now()
|
|
|
|
|
|
|
+ user.CreateTime = models.NowLocal()
|
|
|
user.LastUpdateTime = time.Now().UnixNano()
|
|
user.LastUpdateTime = time.Now().UnixNano()
|
|
|
user.CreateBy = user_id
|
|
user.CreateBy = user_id
|
|
|
user.LastUpdateBy = user_id
|
|
user.LastUpdateBy = user_id
|
|
@@ -281,11 +281,11 @@ func System_GetUser(c *entitys.CtrlContext) {
|
|
|
user_id := c.Ctx.Query("user_id")
|
|
user_id := c.Ctx.Query("user_id")
|
|
|
|
|
|
|
|
var user sysmodel.SysUser
|
|
var user sysmodel.SysUser
|
|
|
- err := c.Db.SqlMapClient("selectone_sys_user",map[string]interface{}{"id": user_id}).Find(&user)
|
|
|
|
|
|
|
+ err := c.Db.SqlMapClient("selectone_sys_user", map[string]interface{}{"id": user_id}).Find(&user)
|
|
|
|
|
|
|
|
if err == nil {
|
|
if err == nil {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", user})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", user})
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -307,7 +307,7 @@ func System_AddRole(c *entitys.CtrlContext) {
|
|
|
paramObj0.Id = sysutils.NewUUID()
|
|
paramObj0.Id = sysutils.NewUUID()
|
|
|
paramObj0.CreateBy = user.UserId
|
|
paramObj0.CreateBy = user.UserId
|
|
|
paramObj0.LastUpdateBy = user.UserId
|
|
paramObj0.LastUpdateBy = user.UserId
|
|
|
- paramObj0.CreateTime = time.Now()
|
|
|
|
|
|
|
+ paramObj0.CreateTime = models.NowLocal()
|
|
|
paramObj0.LastUpdateTime = time.Now().UnixNano()
|
|
paramObj0.LastUpdateTime = time.Now().UnixNano()
|
|
|
paramObj0.DelFlag = 0
|
|
paramObj0.DelFlag = 0
|
|
|
|
|
|
|
@@ -358,15 +358,21 @@ func System_DelRole(c *entitys.CtrlContext) {
|
|
|
// @Success 200 {object} Account
|
|
// @Success 200 {object} Account
|
|
|
// @Failure 403 :id is empty
|
|
// @Failure 403 :id is empty
|
|
|
func System_UpdateRole(c *entitys.CtrlContext) {
|
|
func System_UpdateRole(c *entitys.CtrlContext) {
|
|
|
- id := c.Ctx.Query("id")
|
|
|
|
|
- name := c.Ctx.Query("name")
|
|
|
|
|
- remark := c.Ctx.Query("remark")
|
|
|
|
|
|
|
+ var role sysmodel.SysRole
|
|
|
|
|
+ err := c.Ctx.BindJSON(&role)
|
|
|
|
|
|
|
|
- ret := __none_func_system__(id, name, remark)
|
|
|
|
|
- if ret {
|
|
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ paramMap, _ := sysutils.BeanToMap(&role)
|
|
|
|
|
+ _, err = c.Db.SqlMapClient("update_sys_role", paramMap).Execute()
|
|
|
|
|
+
|
|
|
|
|
+ if err == nil {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
} else {
|
|
} else {
|
|
|
- c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -380,7 +386,10 @@ func System_FindRolePage(c *entitys.CtrlContext) {
|
|
|
page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
|
|
page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
|
|
|
rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
|
|
rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
|
|
|
|
|
|
|
|
- paramMap_i_t := map[string]interface{}{"page": page, "rows": rows}
|
|
|
|
|
|
|
+ name := c.Ctx.DefaultQuery("name", "")
|
|
|
|
|
+ code := c.Ctx.DefaultQuery("code", "")
|
|
|
|
|
+
|
|
|
|
|
+ paramMap_i_t := map[string]interface{}{"name": name, "code": code, "page": page, "rows": rows}
|
|
|
result, err := sysutils.PageSearch(c.Db, "system", "find_role_page", "sys_role", paramMap_i_t)
|
|
result, err := sysutils.PageSearch(c.Db, "system", "find_role_page", "sys_role", paramMap_i_t)
|
|
|
if err == nil {
|
|
if err == nil {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
|
|
@@ -403,10 +412,11 @@ func System_FindMenuPage(c *entitys.CtrlContext) {
|
|
|
cn_id := c.Ctx.DefaultQuery("cn_id", "")
|
|
cn_id := c.Ctx.DefaultQuery("cn_id", "")
|
|
|
_type := c.Ctx.DefaultQuery("type", "")
|
|
_type := c.Ctx.DefaultQuery("type", "")
|
|
|
type_op := c.Ctx.DefaultQuery("type_op", "")
|
|
type_op := c.Ctx.DefaultQuery("type_op", "")
|
|
|
|
|
+ hidden := c.Ctx.DefaultQuery("hidden", "")
|
|
|
|
|
|
|
|
op := template.HTML(type_op)
|
|
op := template.HTML(type_op)
|
|
|
|
|
|
|
|
- paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "type": _type, "type_op": op, "name": name, "code": code, "cn_id": cn_id}
|
|
|
|
|
|
|
+ paramMap_i_t := map[string]interface{}{"hidden": hidden, "page": page, "rows": rows, "type": _type, "type_op": op, "name": name, "code": code, "cn_id": cn_id}
|
|
|
result, err := sysutils.PageSearch(c.Db, "system", "find_menu_page", "sys_menu", paramMap_i_t)
|
|
result, err := sysutils.PageSearch(c.Db, "system", "find_menu_page", "sys_menu", paramMap_i_t)
|
|
|
if err == nil {
|
|
if err == nil {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
|
|
@@ -660,13 +670,22 @@ func System_AddOrg(c *entitys.CtrlContext) {
|
|
|
// @Success 200 {object} Account
|
|
// @Success 200 {object} Account
|
|
|
// @Failure 403 :id is empty
|
|
// @Failure 403 :id is empty
|
|
|
func System_DelOrg(c *entitys.CtrlContext) {
|
|
func System_DelOrg(c *entitys.CtrlContext) {
|
|
|
- id := c.Ctx.Query("id")
|
|
|
|
|
|
|
+ type Param struct {
|
|
|
|
|
+ Id string `json:"id"`
|
|
|
|
|
+ }
|
|
|
|
|
+ var params []Param
|
|
|
|
|
+ c.Ctx.BindJSON(¶ms)
|
|
|
|
|
+ ids := []string{}
|
|
|
|
|
+ for _, param := range params {
|
|
|
|
|
+ ids = append(ids, param.Id)
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- ret := __none_func_system__(id)
|
|
|
|
|
- if ret {
|
|
|
|
|
|
|
+ _, err := c.Db.Table(new(models.SysOrg)).In("id", ids).Update(map[string]interface{}{"del_flag": 1})
|
|
|
|
|
+
|
|
|
|
|
+ if err == nil {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
} else {
|
|
} else {
|
|
|
- c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -682,13 +701,13 @@ func System_UpdateOrg(c *entitys.CtrlContext) {
|
|
|
//name := c.Ctx.Query("name")
|
|
//name := c.Ctx.Query("name")
|
|
|
//domain := c.Ctx.Query("domain")
|
|
//domain := c.Ctx.Query("domain")
|
|
|
//parent := c.Ctx.Query("parent")
|
|
//parent := c.Ctx.Query("parent")
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
var paramObj0 models.SysOrg
|
|
var paramObj0 models.SysOrg
|
|
|
err := c.Ctx.BindJSON(¶mObj0)
|
|
err := c.Ctx.BindJSON(¶mObj0)
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
tk, _ := c.Ctx.Get("token")
|
|
tk, _ := c.Ctx.Get("token")
|
|
|
user := tk.(*entitys.Token)
|
|
user := tk.(*entitys.Token)
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if paramObj0.Parent != "" {
|
|
if paramObj0.Parent != "" {
|
|
|
parentNodes := []sysmodel.SysOrg{}
|
|
parentNodes := []sysmodel.SysOrg{}
|
|
|
err := c.Db.SqlMapClient("one_sys_org", paramObj0.Parent).Find(&parentNodes)
|
|
err := c.Db.SqlMapClient("one_sys_org", paramObj0.Parent).Find(&parentNodes)
|
|
@@ -700,13 +719,13 @@ func System_UpdateOrg(c *entitys.CtrlContext) {
|
|
|
} else {
|
|
} else {
|
|
|
paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id)
|
|
paramObj0.Inheritance = fmt.Sprintf("|%s|", paramObj0.Id)
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
paramObj0.LastUpdateBy = user.UserId
|
|
paramObj0.LastUpdateBy = user.UserId
|
|
|
paramObj0.LastUpdateTime = time.Now().UnixNano()
|
|
paramObj0.LastUpdateTime = time.Now().UnixNano()
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
paramMap, err := sysutils.BeanToMap(¶mObj0)
|
|
paramMap, err := sysutils.BeanToMap(¶mObj0)
|
|
|
_, err = c.Db.SqlMapClient("update_sys_org", paramMap).Execute()
|
|
_, err = c.Db.SqlMapClient("update_sys_org", paramMap).Execute()
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if err == nil {
|
|
if err == nil {
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
} else {
|
|
} else {
|
|
@@ -858,17 +877,21 @@ func System_AddDomainMenu(c *entitys.CtrlContext) {
|
|
|
var paramObj0 struct {
|
|
var paramObj0 struct {
|
|
|
|
|
|
|
|
//域名ID
|
|
//域名ID
|
|
|
- DomainId string `json:"domain_id"`
|
|
|
|
|
|
|
+ DomainId string `json:"domain_id"`
|
|
|
//菜单
|
|
//菜单
|
|
|
- Menus []sysmodel.SysMenu `json:"menus"`
|
|
|
|
|
-
|
|
|
|
|
|
|
+ Menus []sysmodel.SysMenu `json:"menus"`
|
|
|
}
|
|
}
|
|
|
err := c.Ctx.BindJSON(¶mObj0)
|
|
err := c.Ctx.BindJSON(¶mObj0)
|
|
|
- if err != nil{
|
|
|
|
|
|
|
+ if err != nil {
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "BindJSON error: " + err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "BindJSON error: " + err.Error(), nil})
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if len(paramObj0.Menus) <= 0 {
|
|
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{500, "the menus is empty", nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
var domain sysmodel.SysDomain
|
|
var domain sysmodel.SysDomain
|
|
|
param := map[string]interface{}{"id": paramObj0.DomainId}
|
|
param := map[string]interface{}{"id": paramObj0.DomainId}
|
|
|
_, err = c.Db.SqlMapClient("selectone_sys_domain", ¶m).Get(&domain)
|
|
_, err = c.Db.SqlMapClient("selectone_sys_domain", ¶m).Get(&domain)
|
|
@@ -877,6 +900,25 @@ func System_AddDomainMenu(c *entitys.CtrlContext) {
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ var menuIds = make([]string, len(paramObj0.Menus))
|
|
|
|
|
+ for i := range paramObj0.Menus {
|
|
|
|
|
+ menuIds[i] = paramObj0.Menus[i].Id
|
|
|
|
|
+ }
|
|
|
|
|
+ var menus []sysmodel.SysMenu
|
|
|
|
|
+ err = c.Db.In("id", menuIds).Find(&menus)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "find menu error: " + err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ for i := range menus {
|
|
|
|
|
+ for j := range paramObj0.Menus {
|
|
|
|
|
+ if menus[i].Id == paramObj0.Menus[j].Id {
|
|
|
|
|
+ menus[i].Name = paramObj0.Menus[j].Name
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
session := c.App.GetBusinessDb(domain.Domain).NewSession()
|
|
session := c.App.GetBusinessDb(domain.Domain).NewSession()
|
|
|
defer session.Close()
|
|
defer session.Close()
|
|
|
session.Begin()
|
|
session.Begin()
|
|
@@ -886,7 +928,7 @@ func System_AddDomainMenu(c *entitys.CtrlContext) {
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, "Insert menu error: " + err.Error(), nil})
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
- if len(paramObj0.Menus) <= 0{
|
|
|
|
|
|
|
+ if len(paramObj0.Menus) <= 0 {
|
|
|
session.Rollback()
|
|
session.Rollback()
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{500, "the menus is empty", nil})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{500, "the menus is empty", nil})
|
|
|
return
|
|
return
|
|
@@ -944,8 +986,8 @@ func System_GetDomainMenuTree(c *entitys.CtrlContext) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
var sysMenusMap map[string]map[string]interface{}
|
|
var sysMenusMap map[string]map[string]interface{}
|
|
|
- sysMenusMap = make(map[string]map[string]interface{},0)
|
|
|
|
|
- for _, menu := range sysMenus{
|
|
|
|
|
|
|
+ sysMenusMap = make(map[string]map[string]interface{}, 0)
|
|
|
|
|
+ for _, menu := range sysMenus {
|
|
|
sysMenusMap[menu["id"].(string)] = menu
|
|
sysMenusMap[menu["id"].(string)] = menu
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -955,7 +997,7 @@ func System_GetDomainMenuTree(c *entitys.CtrlContext) {
|
|
|
//}
|
|
//}
|
|
|
|
|
|
|
|
var sysMenuRest []map[string]interface{}
|
|
var sysMenuRest []map[string]interface{}
|
|
|
- for _, menu := range sysMenusMap{
|
|
|
|
|
|
|
+ for _, menu := range sysMenusMap {
|
|
|
sysMenuRest = append(sysMenuRest, menu)
|
|
sysMenuRest = append(sysMenuRest, menu)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -969,6 +1011,93 @@ func System_GetDomainMenuTree(c *entitys.CtrlContext) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// _GetUserMenuTree
|
|
|
|
|
+// @Title _GetUserMenuTree
|
|
|
|
|
+// @Description 获取用户权限菜单
|
|
|
|
|
+// @Param user_id string false "用户id"
|
|
|
|
|
+// @Success 200 {object} Account
|
|
|
|
|
+// @Failure 403 :id is empty
|
|
|
|
|
+func System_GetRoleMenuTree(c *entitys.CtrlContext) {
|
|
|
|
|
+ role_id := c.Ctx.Query("role_id")
|
|
|
|
|
+
|
|
|
|
|
+ op := template.HTML(">=")
|
|
|
|
|
+
|
|
|
|
|
+ paramMap := map[string]interface{}{"sort": "name", "type": 0, "type_op": op, "hidden": 0}
|
|
|
|
|
+ sysTree, err := sysutils.TreeSearch(c.Db, "system", "get_menu_tree", "sys_menu", paramMap)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ paramMap2 := map[string]interface{}{"role_id": role_id}
|
|
|
|
|
+ //roleTree, err := sysutils.TreeSearch(c.Db, "system", "get_role_menu_tree", "sys_menu", paramMap2)
|
|
|
|
|
+ roleMenu, _ := c.Db.SqlMapClient("get_role_menu_tree", paramMap2).Query().List()
|
|
|
|
|
+
|
|
|
|
|
+ roleTree, err := sysutils.BuildTree("", roleMenu)
|
|
|
|
|
+
|
|
|
|
|
+ ret := __none_func_system__(role_id)
|
|
|
|
|
+ if ret {
|
|
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", map[string]interface{}{"sys_tree": sysTree, "role_tree": roleTree}})
|
|
|
|
|
+ } else {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// _AddRoleMenu
|
|
|
|
|
+// @Title _AddRoleMenu
|
|
|
|
|
+// @Description 添加角色菜单
|
|
|
|
|
+// @Param menu_id false "菜单id"
|
|
|
|
|
+// @Param role_id string false "角色id"
|
|
|
|
|
+// @Success 200 {object} Account
|
|
|
|
|
+// @Failure 403 :id is empty
|
|
|
|
|
+func System_AddRoleMenu(c *entitys.CtrlContext) {
|
|
|
|
|
+ tk, _ := c.Ctx.Get("token")
|
|
|
|
|
+ user := tk.(*entitys.Token)
|
|
|
|
|
+
|
|
|
|
|
+ var paramObj0 struct {
|
|
|
|
|
+ MenuIds []string `json:"menu_ids"`
|
|
|
|
|
+ RoleId string `json:"role_id"`
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ c.Ctx.BindJSON(¶mObj0)
|
|
|
|
|
+
|
|
|
|
|
+ session := c.Db.NewSession()
|
|
|
|
|
+ defer session.Close()
|
|
|
|
|
+ session.Begin()
|
|
|
|
|
+ _, err := session.SqlMapClient("del_role_menu", paramObj0.RoleId).Execute()
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ session.Rollback()
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ var roleMenus []*sysmodel.SysRoleMenu
|
|
|
|
|
+ for _, menu := range paramObj0.MenuIds {
|
|
|
|
|
+ roleMenu := &sysmodel.SysRoleMenu{}
|
|
|
|
|
+ roleMenu.Id = sysutils.NewUUID()
|
|
|
|
|
+ roleMenu.MenuId = menu
|
|
|
|
|
+ roleMenu.RoleId = paramObj0.RoleId
|
|
|
|
|
+ roleMenu.CreateBy = user.UserId
|
|
|
|
|
+
|
|
|
|
|
+ roleMenus = append(roleMenus, roleMenu)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ _, err = session.InsertMulti(&roleMenus)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ session.Rollback()
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ session.Commit()
|
|
|
|
|
+ ret := __none_func_system__(paramObj0)
|
|
|
|
|
+ if ret {
|
|
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
|
|
+ } else {
|
|
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func __none_func_system__(params ...interface{}) bool {
|
|
func __none_func_system__(params ...interface{}) bool {
|
|
|
return true
|
|
return true
|
|
|
}
|
|
}
|