|
|
@@ -8,6 +8,7 @@ import (
|
|
|
sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
|
|
|
sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
|
|
|
"html/template"
|
|
|
+
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
@@ -107,7 +108,25 @@ func System_FindUserPage(c *entitys.CtrlContext) {
|
|
|
org_id := c.Ctx.DefaultQuery("org_id", "")
|
|
|
cn_org_id := c.Ctx.DefaultQuery("cn_org_id", "")
|
|
|
|
|
|
- paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "login_id": login_id, "org_id": org_id, "cn_org_id": cn_org_id}
|
|
|
+ var roleRule interface{}
|
|
|
+ rule_code := "org_rule"
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
+ exist, _ := c.Db.Table("sys_user_role").Where("user_id = ? and role_id = ?", user_id, "5c38ee66-c5e6-40a7-b190-86d115bae3e5").Exist()
|
|
|
+ //如果是管理员
|
|
|
+ if exist {
|
|
|
+ user_id = ""
|
|
|
+ } else if rule_code != "" {
|
|
|
+ var roleRules []models.SysDataPermissionDetail
|
|
|
+ // 根据rule_code获取角色对应的接口规则
|
|
|
+ err := c.Db.SqlMapClient("get_user_rule_by_code", user_id).Find(&roleRules)
|
|
|
+ if err != nil {
|
|
|
+ roleRule = ""
|
|
|
+ } else {
|
|
|
+ roleRule = sysutils.ParseRule(roleRules)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "login_id": login_id, "org_id": org_id, "cn_org_id": cn_org_id, "role_rule": roleRule}
|
|
|
result, err := sysutils.PageSearch(c.Db, "system", "find_user_page", "sys_user", paramMap_i_t)
|
|
|
|
|
|
if err != nil {
|
|
|
@@ -148,15 +167,25 @@ func System_FindUserPage(c *entitys.CtrlContext) {
|
|
|
// @Success 200 {object} Account
|
|
|
// @Failure 403 :id is empty
|
|
|
func System_GetOrgTree(c *entitys.CtrlContext) {
|
|
|
+ var roleRule interface{}
|
|
|
+ rule_code := "org_rule"
|
|
|
// 管理员角色ID 5c38ee66-c5e6-40a7-b190-86d115bae3e5,如果是管理员,可以看所有,否则只看到本部门
|
|
|
- user_id := c.Ctx.DefaultQuery("user_id", "")
|
|
|
+ user_id := c.Ctx.GetString("user_id")
|
|
|
exist, _ := c.Db.Table("sys_user_role").Where("user_id = ? and role_id = ?", user_id, "5c38ee66-c5e6-40a7-b190-86d115bae3e5").Exist()
|
|
|
//如果是管理员
|
|
|
if exist {
|
|
|
user_id = ""
|
|
|
+ } else if rule_code != "" {
|
|
|
+ var roleRules []models.SysDataPermissionDetail
|
|
|
+ // 根据rule_code获取角色对应的接口规则
|
|
|
+ err := c.Db.SqlMapClient("get_user_rule_by_code", user_id).Find(&roleRules)
|
|
|
+ if err != nil {
|
|
|
+ roleRule = ""
|
|
|
+ } else {
|
|
|
+ roleRule = sysutils.ParseRule(roleRules)
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- paramMap_i_t := map[string]interface{}{"sort": "name", "user_id": user_id}
|
|
|
+ paramMap_i_t := map[string]interface{}{"sort": "name", "user_id": user_id, "role_rule": roleRule}
|
|
|
result, err := sysutils.TreeSearch(c.Db, "system", "get_org_tree", "sys_org", paramMap_i_t)
|
|
|
|
|
|
if err == nil {
|
|
|
@@ -2360,6 +2389,77 @@ func System_GetOptionsetByCode(c *entitys.CtrlContext) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// _AddDataPermission
|
|
|
+// @Title _AddDataPermission
|
|
|
+// @Description 添加数据权限
|
|
|
+// @Param string false "数据权限"
|
|
|
+// @Success 200 {object} Account
|
|
|
+// @Failure 403 :id is empty
|
|
|
+func System_AddDataPermission(c *entitys.CtrlContext) {
|
|
|
+ var paramObj0 models.SysDataPermission
|
|
|
+ c.Ctx.BindJSON(¶mObj0)
|
|
|
+ ret := __none_func_system__(paramObj0)
|
|
|
+ if ret {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
+ } else {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// _DelDataPermission
|
|
|
+// @Title _DelDataPermission
|
|
|
+// @Description 删除数据权限
|
|
|
+// @Param id string false "数据权限ID"
|
|
|
+// @Success 200 {object} Account
|
|
|
+// @Failure 403 :id is empty
|
|
|
+func System_DelDataPermission(c *entitys.CtrlContext) {
|
|
|
+ id := c.Ctx.Query("id")
|
|
|
+
|
|
|
+ ret := __none_func_system__(id)
|
|
|
+ if ret {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
+ } else {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// _UpdateDataPermission
|
|
|
+// @Title _UpdateDataPermission
|
|
|
+// @Description 更新数据权限
|
|
|
+// @Param string false "数据权限"
|
|
|
+// @Success 200 {object} Account
|
|
|
+// @Failure 403 :id is empty
|
|
|
+func System_UpdateDataPermission(c *entitys.CtrlContext) {
|
|
|
+ var paramObj0 models.SysDataPermission
|
|
|
+ c.Ctx.BindJSON(¶mObj0)
|
|
|
+ ret := __none_func_system__(paramObj0)
|
|
|
+ if ret {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
+ } else {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// _FindDataPermissionPage
|
|
|
+// @Title _FindDataPermissionPage
|
|
|
+// @Description 分页获取数据权限
|
|
|
+// @Success 200 {object} Account
|
|
|
+// @Failure 403 :id is empty
|
|
|
+func System_FindDataPermissionPage(c *entitys.CtrlContext) {
|
|
|
+
|
|
|
+ page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
|
|
|
+ rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
|
|
|
+
|
|
|
+ paramMap_i_t := map[string]interface{}{"page": page, "rows": rows}
|
|
|
+ result, err := sysutils.PageSearch(c.Db, "system", "find_data_permission_page", "data_permission", paramMap_i_t)
|
|
|
+ if err == nil {
|
|
|
+ c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
|
|
|
+ } else {
|
|
|
+ c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
func __none_func_system__(params ...interface{}) bool {
|
|
|
return true
|
|
|
}
|