Sfoglia il codice sorgente

添加获取组织角色接口

huangyh 6 anni fa
parent
commit
cbf64950ba

+ 7 - 6
controllers/gen/SystemController_gen.go

@@ -829,17 +829,18 @@ func (c *SystemController) UpdateOrg(ctx *gin.Context) {
 	partial.System_UpdateOrg(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
-// GetOrgByUserid
-// @Title GetOrgByUserid
-// @Description 根据用户id获取用户组织
+// GetOrgUsers
+// @Title GetOrgUsers
+// @Description 根据用户组织
 // @Param	user_id    string  false  "用户id"
+// @Param	role_id    string  false  "组织id"
 // @Success 200 {object} sysReturn
 // @Failure 403 :id is empty
-// @router /get_org_by_userid  [post,get]
-func (c *SystemController) GetOrgByUserid(ctx *gin.Context) {
+// @router /get_org_users  [post,get]
+func (c *SystemController) GetOrgUsers(ctx *gin.Context) {
 	//
 	db := c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetOrgByUserid(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+	partial.System_GetOrgUsers(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
 // AddDomain

+ 19 - 6
controllers/partial/SystemController.go

@@ -882,20 +882,33 @@ func System_UpdateOrg(c *entitys.CtrlContext) {
 
 // _GetOrgByUserid
 // @Title _GetOrgByUserid
-// @Description 根据用户id获取用户组织
+// @Description 根据组织
 // @Param	user_id    string  false  "用户id"
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
-func System_GetOrgByUserid(c *entitys.CtrlContext) {
+func System_GetOrgUsers(c *entitys.CtrlContext) {
 	user_id := c.Ctx.Query("user_id")
+	role_id := c.Ctx.Query("role_id")
 
-	var org sysmodel.SysOrg
-	err := c.Db.SqlMapClient("get_org_by_userid", user_id).Find(&org)
+	fmt.Println(user_id, "---------", role_id)
+
+	var err error
+	//users := []sysmodel.SysUser{}
+	var users []sysmodel.SysUser
+	if role_id == "" {
+		err = c.Db.SqlMapClient("get_org_users", user_id).Find(&users)
+	} else {
+		err = c.Db.SqlMapClient("get_org_role_users", user_id, role_id).Find(&users)
+		if err != nil || users == nil {
+			c.Ctx.JSON(500, sysmodel.SysReturn{500, "无法找到部门审批人!", nil})
+			return
+		}
+	}
 
 	if err == nil {
-		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", org})
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", users})
 	} else {
-		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, "错误", nil})
 	}
 }
 

+ 2 - 1
light-apiengine.xml

@@ -443,8 +443,9 @@
                     <failure ref="$sys_return"></failure>
                 </return>
             </api>
-            <api name="get_org_by_userid" desc="根据用户id获取用户组织" method="post,get">
+            <api name="get_org_users" desc="根据用户组织" method="post,get">
                 <param name="user_id"  type="string" desc="用户id"/>
+                <param name="role_id"  type="string" desc="组织id"/>
                 <return>
                     <success ref="$sys_return"></success>
                     <failure ref="$sys_return"></failure>

+ 17 - 2
sqlconfig/light-apiengine-develop/sys_org.xml

@@ -1,5 +1,20 @@
 <sqlMap>
-    <sql id="get_org_by_userid">
-        select sys_org.* from sys_user, sys_org where sys_user.org_id = sys_org.id and sys_user.id = ?
+    <sql id="get_org_users">
+        SELECT
+            sys_user.*
+        FROM
+            sys_user, (SELECT sys_user.* FROM sys_user WHERE id = ?) t
+        WHERE
+            t.org_id = sys_user.org_id
+    </sql>
+    <sql id="get_org_role_users">
+        SELECT
+            sys_user.*
+        FROM
+            sys_user, sys_user_role, (SELECT sys_user.* FROM sys_user WHERE id = ?) t
+        WHERE
+            sys_user.id = sys_user_role.user_id
+        AND t.org_id = sys_user.org_id
+        AND sys_user_role.role_id = ?
     </sql>
 </sqlMap>