Browse Source

merge controllers/partial/SystemController.go

huangyh 6 years ago
parent
commit
f6eb61586c

+ 48 - 26
controllers/gen/SystemController_gen.go

@@ -33,19 +33,6 @@ func (c *SystemController) Sidebar(ctx *gin.Context) {
 	partial.System_Sidebar(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
-// GetMenuTree
-// @Title GetMenuTree
-// @Description 获取系统菜单         
-// @Param	user    string  false  "用户id"  
-// @Success 200 {object} sysReturn
-// @Failure 403 :id is empty
-// @router /get_menu_tree  [post,get]
-func (c *SystemController) GetMenuTree(ctx *gin.Context) {
-	//
-	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_GetMenuTree(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
-}
-
 // FindUserPage
 // @Title FindUserPage
 // @Description 获取用户分页数         
@@ -70,6 +57,54 @@ func (c *SystemController) GetOrgTree(ctx *gin.Context) {
 	partial.System_GetOrgTree(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
+// GetMenuTree
+// @Title GetMenuTree
+// @Description 获取菜单树         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /get_menu_tree  [get,post]
+func (c *SystemController) GetMenuTree(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_GetMenuTree(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// FindOrgPage
+// @Title FindOrgPage
+// @Description 获取组织架构分页数         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /find_org_page  [get,post]
+func (c *SystemController) FindOrgPage(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindOrgPage(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// FindRolePage
+// @Title FindRolePage
+// @Description 获取角色分页数         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /find_role_page  [get,post]
+func (c *SystemController) FindRolePage(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindRolePage(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
+// FindMenuPage
+// @Title FindMenuPage
+// @Description 获取菜单分页数         
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /find_menu_page  [get,post]
+func (c *SystemController) FindMenuPage(ctx *gin.Context) {
+	//
+	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_FindMenuPage(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
 // AddUser
 // @Title AddUser
 // @Description 添加用户         
@@ -157,19 +192,6 @@ func (c *SystemController) UpdateRole(ctx *gin.Context) {
 	partial.System_UpdateRole(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
-// FindRolePage
-// @Title FindRolePage
-// @Description 角色分页         
-// @Param	page      false  "分页参数"  
-// @Success 200 {object} sysReturn
-// @Failure 403 :id is empty
-// @router /find_role_page  [post,get,put]
-func (c *SystemController) FindRolePage(ctx *gin.Context) {
-	//
-	db:=c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
-	partial.System_FindRolePage(&entitys.CtrlContext{ctx, db, c.apiengine.PlatformOrmEngine})
-}
-
 // FindRoleMenu
 // @Title FindRoleMenu
 // @Description 查找角色权限         

+ 142 - 27
controllers/partial/SystemController.go

@@ -6,6 +6,8 @@ import (
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
 	sysmodel "git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
 	sysutils "git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
+	"strconv"
+	"time"
 )
 
 // _Sidebar
@@ -36,13 +38,13 @@ func System_Sidebar(c *entitys.CtrlContext) {
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
 func System_GetMenuTree(c *entitys.CtrlContext) {
-	user := c.Ctx.Query("user")
+	paramMap_i_t := map[string]interface{}{"sort": "name"}
+	result, err := sysutils.TreeSearch(c.Db, "system", "get_menu_tree", "sys_menu", paramMap_i_t)
 
-	ret := __none_func_system__(user)
-	if ret {
-		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
 	} else {
-		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 	}
 }
 
@@ -52,12 +54,38 @@ func System_GetMenuTree(c *entitys.CtrlContext) {
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
 func System_FindUserPage(c *entitys.CtrlContext) {
+	page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
+	rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
+	name := c.Ctx.DefaultQuery("name", "")
+	login_id := c.Ctx.DefaultQuery("login_id", "")
 
-	var page int64 = c.Ctx.GetInt64("page")
-	var rows int64 = c.Ctx.GetInt64("rows")
-
-	paramMap_i_t := map[string]interface{}{"page": page, "rows": rows}
+	paramMap_i_t := map[string]interface{}{"page": page, "rows": rows, "name": name, "login_id": login_id}
 	result, err := sysutils.PageSearch(c.Db, "system", "find_user_page", "sys_user", paramMap_i_t)
+
+	if err != nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
+		return
+	}
+
+	type Role struct {
+		RoleName string `json:"role_name"`
+		UserRole string `json:"user_role"`
+	}
+	//获取用户角色
+	users := result.Content.([]map[string]interface{})
+	for i, user := range users {
+		roles := []Role{}
+		err := c.Db.SqlMapClient("get_roles_by_user_id", user["id"]).Find(&roles)
+		if err != nil {
+			fmt.Println("----", err.Error())
+			continue
+		}
+		users[i]["user_role"] = roles[0].UserRole
+		users[i]["role_name"] = roles[0].RoleName
+	}
+
+	result.Content = users
+
 	if err == nil {
 		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
 	} else {
@@ -84,6 +112,26 @@ func System_GetOrgTree(c *entitys.CtrlContext) {
 
 }
 
+// _FindOrgPage
+// @Title _FindOrgPage
+// @Description 获取组织架构分页数
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_FindOrgPage(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_org_page", "sys_org", 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})
+	}
+
+}
+
 // _AddUser
 // @Title _AddUser
 // @Description 添加用户
@@ -94,16 +142,40 @@ func System_GetOrgTree(c *entitys.CtrlContext) {
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
 func System_AddUser(c *entitys.CtrlContext) {
-	login_id := c.Ctx.Query("login_id")
-	password := c.Ctx.Query("password")
-	org_id := c.Ctx.Query("org_id")
-	email := c.Ctx.Query("email")
-
-	ret := __none_func_system__(login_id, password, org_id, email)
-	if ret {
+	var user sysmodel.SysUser
+	c.Ctx.BindJSON(&user)
+	fmt.Println(user.LoginId, "-----add user-----", user.Password, " --- ", user.OrgId)
+	//查找login_id是否存在
+	oldUser := new(sysmodel.SysUser)
+	count, _ := c.Db.SQL("select * from sys_user").Where("login_id = ?", user.LoginId).Count(&oldUser)
+	if count > 1 {
+		if oldUser.DelFlag == 1 {
+			oldUser.DelFlag = 0
+			_, err := c.Db.Id("id").Cols("del_flag").Update(&oldUser)
+			if err != nil {
+				c.Ctx.JSON(200, sysmodel.SysReturn{500, "login_id exit, update err: " + err.Error(), nil})
+			}
+			return
+		} else {
+			c.Ctx.JSON(200, sysmodel.SysReturn{500, "login_id exit", nil})
+			return
+		}
+	}
+	user_id := c.Ctx.GetString("user_id")
+	user.Id = sysutils.NewUUID()
+	user.Name = user.LoginId
+	user.CreateTime = time.Now()
+	user.LastUpdateDate = time.Now()
+	user.CreateBy = user_id
+	user.LastUpdateBy = user_id
+	user.DelFlag = 0
+	user.Password = sysutils.HashPassword(user.Password, "")
+	_, err := c.Db.Insert(&user)
+	ret := __none_func_system__(user.LoginId, user.Password, user.OrgId, user.Email)
+	if ret && err == nil {
 		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
 	} else {
-		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
 	}
 }
 
@@ -114,13 +186,35 @@ func System_AddUser(c *entitys.CtrlContext) {
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
 func System_DelUser(c *entitys.CtrlContext) {
-	id := c.Ctx.Query("id")
-
-	ret := __none_func_system__(id)
+	type Param struct {
+		Id string `json:"id"`
+	}
+	var params []Param
+	c.Ctx.BindJSON(&params)
+	ids := []string{}
+	for _, param := range params {
+		ids = append(ids, param.Id)
+	}
+	session := c.Db.NewSession()
+	defer session.Close()
+	_, err := c.Db.Table(new(models.SysUser)).In("id", ids).Update(map[string]interface{}{"del_flag": 1})
+	if err != nil {
+		session.Rollback()
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+	_, err = c.Db.Table(new(models.SysUserRole)).In("user_id", ids).Update(map[string]interface{}{"del_flag": 1})
+	if err != nil {
+		session.Rollback()
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+	session.Commit()
+	ret := __none_func_system__()
 	if ret {
 		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
 	} else {
-		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		c.Ctx.JSON(200, sysmodel.SysReturn{500, "", nil})
 	}
 }
 
@@ -211,16 +305,37 @@ func System_UpdateRole(c *entitys.CtrlContext) {
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
 func System_FindRolePage(c *entitys.CtrlContext) {
-	var paramObj0 models.GetPageInfo
-	c.Ctx.BindJSON(&paramObj0)
-	ret := __none_func_system__(paramObj0)
-	if ret {
-		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	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_role_page", "sys_role", paramMap_i_t)
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
 	} else {
-		c.Ctx.JSON(500, sysmodel.SysReturn{500, "", nil})
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 	}
 }
 
+// _FindMenuPage
+// @Title _FindMenuPage
+// @Description 获取角色分页数
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_FindMenuPage(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_menu_page", "sys_menu", 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})
+	}
+
+}
+
 // _FindRoleMenu
 // @Title _FindRoleMenu
 // @Description 查找角色权限

+ 12 - 17
light-apiengine.xml

@@ -51,17 +51,18 @@
                     <failure ref="$sys_return"></failure>
                 </return>
             </api>
-            <api name="get_menu_tree" desc="获取系统菜单" method="post,get">
-                <param name="user" type="string" desc="用户id"/>
-                <return>
-                    <success ref="$sys_return"></success>
-                    <failure ref="$sys_return"></failure>
-                </return>
-            </api>
             <api name="find_user_page" desc="获取用户分页数" function="page" table="sys_user" method="get,post" >
             </api>
             <api name="get_org_tree" desc="获取组织架构树" function="tree" table="sys_org" method="get,post" >
             </api>
+            <api name="get_menu_tree" desc="获取菜单树" function="tree" table="sys_menu" method="get,post" >
+            </api>
+            <api name="find_org_page" desc="获取组织架构分页数" function="page" table="sys_org" method="get,post" >
+            </api>
+            <api name="find_role_page" desc="获取角色分页数" function="page" table="sys_role" method="get,post" >
+            </api>
+            <api name="find_menu_page" desc="获取菜单分页数" function="page" table="sys_menu" method="get,post" >
+            </api>
             <api name="add_user" desc="添加用户" method="post,get,put">
                 <param name="login_id" type="string" desc="登录ID"/>
                 <param name="password" type="string" desc="密码"/>
@@ -113,13 +114,6 @@
                     <failure ref="$sys_return"></failure>
                 </return>
             </api>
-            <api name="find_role_page" desc="角色分页" method="post,get,put">
-                <param name="page" ref="$get_page_info" desc="分页参数"/>
-                <return>
-                    <success ref="$sys_return"></success>
-                    <failure ref="$sys_return"></failure>
-                </return>
-            </api>
             <api name="find_role_menu" desc="查找角色权限" method="post,get,put">
                 <param name="role_id" type="string" desc="角色id"/>
                 <return>
@@ -239,8 +233,8 @@
             <prop name="error" caption="error" type="string" />
         </bean>
         <bean name="page_result" desc="分页结果">
-            <prop name="pageNum" caption="页码" type="int" />
-            <prop name="pageSize" caption="单页数" type="int" />
+            <prop name="page" caption="页码" type="int" />
+            <prop name="rows" caption="单页数" type="int" />
             <prop name="totalSize" caption="总页数" type="int64" />
             <prop name="content" caption="内容" type="interface{}" />
         </bean>
@@ -348,6 +342,7 @@
             <column isNull="false" name="name" caption="菜单名称" type="string" size="36" dbtype="varchar(36)"/>
             <column isNull="false" name="code" caption="编码" type="string" size="36" dbtype="varchar(36)"/>
             <column isNull="true" name="parent" caption="父菜单ID,一级菜单为null" type="string" size="36" dbtype="varchar(36)"/>
+            <column isNull="true" name="inheritance" caption="继承关系" type="string" size="500" dbtype="varchar(500)"/>
             <column name="url" type="string" size="200" dbtype="varchar(200)" caption="菜单URL,类型:1.普通页面(如用户管理, /sys/user) 2.嵌套完整外部页面,以http(s)开头的链接 3.嵌套服务器页面,使用iframe:前缀+目标URL(如SQL监控, iframe:/druid/login.html, iframe:前缀会替换成服务器地址)"/>
             <column name="component" type="string" size="100" dbtype="varchar(100)" caption="菜单组件"/>
             <column isNull="true" name="perms" caption="授权(多个用逗号分隔,如:sys:user:add,sys:user:edit)" type="string" size="500" dbtype="varchar(500)"/>
@@ -443,4 +438,4 @@
             <column isNull="false" name="del_flag" caption="是否删除 0:删除   1:正常" type="int32"/>
         </table>
     </tables>
-</application>
+</application>

+ 2 - 2
models/PageResult_gen.go

@@ -10,9 +10,9 @@ import (
 type PageResult struct {
 	
 	//页码
-	PageNum   int `json:"pageNum"`
+	Page   int `json:"page"`
 	//单页数
-	PageSize   int `json:"pageSize"`
+	Rows   int `json:"rows"`
 	//总页数
 	TotalSize   int64 `json:"totalSize"`
 	//内容

+ 2 - 0
models/SysMenuTree_gen.go

@@ -16,6 +16,8 @@ type SysMenuTree struct {
 	Code string `json:"code"`
 	//父菜单ID,一级菜单为null
 	Parent string `json:"parent"`
+	//继承关系
+	Inheritance string `json:"inheritance"`
 	//菜单URL,类型:1.普通页面(如用户管理, /sys/user) 2.嵌套完整外部页面,以http(s)开头的链接 3.嵌套服务器页面,使用iframe:前缀+目标URL(如SQL监控, iframe:/druid/login.html, iframe:前缀会替换成服务器地址)
 	Url string `json:"url"`
 	//菜单组件

+ 2 - 0
models/SysMenu_gen.go

@@ -13,6 +13,8 @@ type SysMenu struct {
 	Code   string    `xorm:"'code' varchar(36) notnull "json:"code"`
 	//父菜单ID,一级菜单为null
 	Parent   string    `xorm:"'parent' varchar(36) null "json:"parent"`
+	//继承关系
+	Inheritance   string    `xorm:"'inheritance' varchar(500) null "json:"inheritance"`
 	//菜单URL,类型:1.普通页面(如用户管理, /sys/user) 2.嵌套完整外部页面,以http(s)开头的链接 3.嵌套服务器页面,使用iframe:前缀+目标URL(如SQL监控, iframe:/druid/login.html, iframe:前缀会替换成服务器地址)
 	Url   string    `xorm:"'url' varchar(200) notnull "json:"url"`
 	//菜单组件

+ 12 - 6
routers/system.go

@@ -23,15 +23,24 @@ func registerSystemRouter(e *engine.ApiEngine){
 	v1.GET("/sidebar",ctrler.Sidebar)
 	v1.POST("/sidebar",ctrler.Sidebar)
 
-	v1.GET("/get_menu_tree",ctrler.GetMenuTree)
-	v1.POST("/get_menu_tree",ctrler.GetMenuTree)
-
 	v1.GET("/find_user_page",ctrler.FindUserPage)
 	v1.POST("/find_user_page",ctrler.FindUserPage)
 
 	v1.GET("/get_org_tree",ctrler.GetOrgTree)
 	v1.POST("/get_org_tree",ctrler.GetOrgTree)
 
+	v1.GET("/get_menu_tree",ctrler.GetMenuTree)
+	v1.POST("/get_menu_tree",ctrler.GetMenuTree)
+
+	v1.GET("/find_org_page",ctrler.FindOrgPage)
+	v1.POST("/find_org_page",ctrler.FindOrgPage)
+
+	v1.GET("/find_role_page",ctrler.FindRolePage)
+	v1.POST("/find_role_page",ctrler.FindRolePage)
+
+	v1.GET("/find_menu_page",ctrler.FindMenuPage)
+	v1.POST("/find_menu_page",ctrler.FindMenuPage)
+
 	v1.GET("/add_user",ctrler.AddUser)
 	v1.POST("/add_user",ctrler.AddUser)
 
@@ -50,9 +59,6 @@ func registerSystemRouter(e *engine.ApiEngine){
 	v1.GET("/update_role",ctrler.UpdateRole)
 	v1.POST("/update_role",ctrler.UpdateRole)
 
-	v1.GET("/find_role_page",ctrler.FindRolePage)
-	v1.POST("/find_role_page",ctrler.FindRolePage)
-
 	v1.GET("/find_role_menu",ctrler.FindRoleMenu)
 	v1.POST("/find_role_menu",ctrler.FindRoleMenu)
 

+ 7 - 0
sqlconfig/system_controller/system_find_menu_page_count.tpl

@@ -0,0 +1,7 @@
+
+select
+    count(*) records
+from
+    sys_menu
+where
+	del_flag = 0

+ 8 - 0
sqlconfig/system_controller/system_find_menu_page_select.tpl

@@ -0,0 +1,8 @@
+
+select
+    *
+from
+    sys_menu
+where
+    del_flag = 0
+LIMIT {{.rows}} OFFSET {{.offset}}

+ 7 - 0
sqlconfig/system_controller/system_find_org_page_count.tpl

@@ -0,0 +1,7 @@
+
+select
+    count(*) records
+from
+    sys_org
+where
+	del_flag = 0

+ 8 - 0
sqlconfig/system_controller/system_find_org_page_select.tpl

@@ -0,0 +1,8 @@
+
+select
+    *
+from
+    sys_org
+where
+    del_flag = 0
+LIMIT {{.rows}} OFFSET {{.offset}}

+ 7 - 0
sqlconfig/system_controller/system_find_role_page_count.tpl

@@ -0,0 +1,7 @@
+
+select
+    count(*) records
+from
+    sys_role
+where
+	del_flag = 0

+ 8 - 0
sqlconfig/system_controller/system_find_role_page_select.tpl

@@ -0,0 +1,8 @@
+
+select
+    *
+from
+    sys_role
+where
+    del_flag = 0
+LIMIT {{.rows}} OFFSET {{.offset}}

+ 6 - 0
sqlconfig/system_controller/system_find_user_page_count.tpl

@@ -5,3 +5,9 @@ from
     sys_user
 where
 	del_flag = 0
+{{if ne .name ""}}
+    and name like '%{{.name}}%'
+{{end}}
+{{if ne .login_id ""}}
+    and login_id like '%{{.login_id}}%'
+{{end}}

+ 14 - 2
sqlconfig/system_controller/system_find_user_page_select.tpl

@@ -1,7 +1,19 @@
 
 select
-    *
+    sys_user.*,
+    sys_org.name org_name
 from
     sys_user
+left join
+    sys_org
+on
+    sys_user.org_id = sys_org.id
 where
-    del_flag = 0
+    sys_user.del_flag = 0
+{{if ne .name ""}}
+    and sys_user.name like '%{{.name}}%'
+{{end}}
+{{if ne .login_id ""}}
+    and sys_user.login_id like '%{{.login_id}}%'
+{{end}}
+LIMIT {{.rows}} OFFSET {{.offset}}

+ 7 - 0
sqlconfig/system_controller/system_get_menu_tree.tpl

@@ -0,0 +1,7 @@
+
+select
+    *
+from
+    sys_menu
+where
+    del_flag = 0

+ 3 - 1
sqlconfig/system_controller/system_get_org_tree.tpl

@@ -2,4 +2,6 @@
 select
     *
 from
-    
+    sys_org
+where
+    del_flag = 0

+ 3 - 1
sqlconfig/system_controller/system_sidebar.tpl

@@ -2,4 +2,6 @@
 select
     *
 from
-    
+    sys_menu
+where
+    del_flag = 0

+ 18 - 13
utils/page_util.go

@@ -1,43 +1,48 @@
 package utils
 
 import (
-	"github.com/xormplus/xorm"
 	"fmt"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	"github.com/xormplus/xorm"
 )
 
 // 分页查询
-func PageSearch(engine *xorm.Engine, controllername string, apiname string, tableName string, paramMap map[string]interface{})(*models.PageResult, error){
+func PageSearch(engine *xorm.Engine, controllername string, apiname string, tableName string, paramMap map[string]interface{}) (*models.PageResult, error) {
 	page := paramMap["page"].(int)
 	rows := paramMap["rows"].(int)
 
-	stplkey := fmt.Sprintf("%s_%s_select.stpl",controllername, apiname)
+	offset := (page - 1) * rows
+	paramMap["offset"] = offset
+
+	stplkey := fmt.Sprintf("%s_%s_select.tpl", controllername, apiname)
 	result, err := engine.SqlTemplateClient(stplkey, &paramMap).Query().List()
-	if err != nil{
+	if err != nil {
 		fmt.Println(err)
 		return nil, err
 	}
 
-	stplkey = fmt.Sprintf("%s_%s_count.stpl", tableName)
+	stplkey = fmt.Sprintf("%s_%s_count.tpl", controllername, apiname)
 	cresult, err := engine.SqlTemplateClient(stplkey, &paramMap).Query().List()
-	if err != nil{
+	if err != nil {
 		fmt.Println(err)
 		return nil, err
 	}
 	records := cresult[0]["records"].(int64)
 
 	var totalSize int64 = 0
-	if records%int64(rows) == 0 {
+	if totalSize < int64(rows) {
+		totalSize = 1
+	} else if records%int64(rows) == 0 {
 		totalSize = records / int64(rows)
-	}else{
-		totalSize = records / int64(rows + 1)
+	} else {
+		totalSize = records / int64(rows+1)
 	}
 
 	presult := models.PageResult{}
-	presult.PageNum = (page)
-	presult.PageSize = (rows)
+	presult.Page = (page)
+	presult.Rows = (rows)
 	presult.Content = result
-	presult.TotalSize = totalSize
+	presult.TotalSize = records
 
 	return &presult, nil
-}
+}