Bläddra i källkod

Merge branch 'v2' of https://git.qianqiusoft.com/qianqiusoft/light-apiengine into v2

wuww 6 år sedan
förälder
incheckning
26e0b8f37c

+ 13 - 0
controllers/gen/SystemController_gen.go

@@ -255,6 +255,19 @@ func (c *SystemController) UpdateUser(ctx *gin.Context) {
 	partial.System_UpdateUser(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
 }
 
+// UpdatePassword
+// @Title UpdatePassword
+// @Description 修改用户密码
+// @Param	    $sys_user  false  "用户ID"
+// @Success 200 {object} sysReturn
+// @Failure 403 :id is empty
+// @router /update_password  [post,get]
+func (c *SystemController) UpdatePassword(ctx *gin.Context) {
+	//
+	db := c.apiengine.BusinessOrmEngine[ctx.GetString("domain")]
+	partial.System_UpdatePassword(&entitys.CtrlContext{c.apiengine, ctx, db, c.apiengine.PlatformOrmEngine})
+}
+
 // GetUser
 // @Title GetUser
 // @Description 更加用户ID获取用户信息

+ 42 - 3
controllers/partial/SystemController.go

@@ -362,6 +362,37 @@ func System_UpdateUser(c *entitys.CtrlContext) {
 	}
 }
 
+// _UpdatePassword
+// @Title _UpdatePassword
+// @Description 修改用户密码
+// @Param	    string  false  "用户ID"
+// @Param	password    string  false  "密码"
+// @Success 200 {object} Account
+// @Failure 403 :id is empty
+func System_UpdatePassword(c *entitys.CtrlContext) {
+	var user sysmodel.SysUser
+	err := c.Ctx.BindJSON(&user)
+
+	tk, _ := c.Ctx.Get("token")
+	operator := tk.(*entitys.Token)
+
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+
+	user.Password = sysutils.HashPassword(user.Password, "")
+
+	paramMap := map[string]interface{}{"id": user.Id, "password": user.Password, "last_update_time": time.Now().UnixNano(), "last_update_by": operator.UserId}
+	_, err = c.PlatformDbEngine.SqlMapClient("update_user_password", &paramMap).Execute()
+
+	if err == nil {
+		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
+	} else {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+	}
+}
+
 // _GetUser
 // @Title _GetUser
 // @Description 更加用户ID获取用户信息
@@ -517,6 +548,7 @@ func System_FindMenuPage(c *entitys.CtrlContext) {
 	page, _ := strconv.Atoi(c.Ctx.DefaultQuery("page", "1"))
 	rows, _ := strconv.Atoi(c.Ctx.DefaultQuery("rows", "10"))
 
+	user_id := c.Ctx.DefaultQuery("user_id", "")
 	name := c.Ctx.DefaultQuery("name", "")
 	code := c.Ctx.DefaultQuery("code", "")
 	cn_id := c.Ctx.DefaultQuery("cn_id", "")
@@ -526,7 +558,14 @@ func System_FindMenuPage(c *entitys.CtrlContext) {
 
 	op := template.HTML(type_op)
 
-	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}
+	// 管理员角色ID 5c38ee66-c5e6-40a7-b190-86d115bae3e5
+	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 = ""
+	}
+
+	paramMap_i_t := map[string]interface{}{"user_id": user_id, "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)
 	if err == nil {
 		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", result})
@@ -642,7 +681,7 @@ func System_AddMenu(c *entitys.CtrlContext) {
 
 	if paramObj0.Parent != "" {
 		parentNodes := []sysmodel.SysMenu{}
-		err := c.Db.SqlMapClient("one_sys_menu", paramObj0.Parent).Find(&parentNodes)
+		err := c.Db.SqlMapClient("select_parent_menu", paramObj0.Parent).Find(&parentNodes)
 		if err != nil {
 			c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 			return
@@ -705,7 +744,7 @@ func System_UpdateMenu(c *entitys.CtrlContext) {
 
 	if paramObj0.Parent != "" {
 		parentNodes := []sysmodel.SysMenu{}
-		err := c.Db.SqlMapClient("one_sys_menu", paramObj0.Parent).Find(&parentNodes)
+		err := c.Db.SqlMapClient("select_parent_menu", paramObj0.Parent).Find(&parentNodes)
 		if err != nil {
 			c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 			return

+ 6 - 0
routers/system_gen.go

@@ -76,6 +76,9 @@ func registerSystemRouter(e *engine.ApiEngine) {
 	v1.GET("/update_user", ctrler.UpdateUser)
 	v1.POST("/update_user", ctrler.UpdateUser)
 
+	v1.GET("/update_password", ctrler.UpdatePassword)
+	v1.POST("/update_password", ctrler.UpdatePassword)
+
 	v1.GET("/get_user", ctrler.GetUser)
 	//v1.POST("/get_user",ctrler.GetUser)
 
@@ -163,6 +166,9 @@ func registerSystemRouter(e *engine.ApiEngine) {
 	v1.GET("/update_role", ctrler.UpdateRole)
 	v1.POST("/update_role", ctrler.UpdateRole)
 
+	v1.GET("/get_user_roles", ctrler.GetUserRoles)
+	v1.POST("/get_user_roles", ctrler.GetUserRoles)
+
 	v1.GET("/find_role_menu", ctrler.FindRoleMenu)
 	v1.POST("/find_role_menu", ctrler.FindRoleMenu)
 

+ 5 - 0
sqlconfig/light-apiengine-develop/sys_menu.xml

@@ -1,4 +1,9 @@
 <sqlMap>
+    <sql id="select_parent_menu">
+        select
+        `id`,`name`,`code`,`parent`,`inheritance`,`url`,`component`,`perms`,`type`,`icon`,`order_num`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`
+        from sys_menu where parent = ?
+    </sql>
     <sql id="select_sys_menu">
         select
         `id`,`name`,`code`,`parent`,`inheritance`,`url`,`component`,`perms`,`type`,`icon`,`order_num`,`create_by`,`create_time`,`last_update_by`,`last_update_time`,`del_flag`

+ 5 - 0
sqlconfig/light-apiengine-develop/sys_user.xml

@@ -4,4 +4,9 @@
         `name` = ?name,`mobile` = ?mobile,`email` = ?email,`org_id` = ?org_id,`last_update_by` = ?last_update_by,`last_update_time` = ?last_update_time,`temp_id` = ?temp_id,`temp_value` = ?temp_value
         where id = ?id
     </sql>
+    <sql id="update_user_password">
+        update sys_user set
+        `password` = ?password,`last_update_by` = ?last_update_by,`last_update_time` = ?last_update_time
+        where id = ?id
+    </sql>
 </sqlMap>

+ 14 - 6
sqlconfig/system_controller/system_find_menu_page_count.tpl

@@ -2,18 +2,26 @@
 select
     count(*) records
 from
-    sys_menu
+    sys_menu, sys_role_menu, sys_user_role, sys_user
 where
-	del_flag = 0
+    sys_menu.id = sys_role_menu.menu_id
+    and sys_role_menu.role_id = sys_user_role.role_id
+    and sys_user_role.user_id = sys_user.id
+    and sys_menu.del_flag = 0
 {{if ne .name ""}}
-    and name like '%{{.name}}%'
+    and sys_menu.name like '%{{.name}}%'
 {{end}}
 {{if ne .code ""}}
-    and code like '%{{.code}}%'
+    and sys_menu.code like '%{{.code}}%'
 {{end}}
 {{if ne .cn_id ""}}
-    and inheritance like '%{{.cn_id}}%'
+    and sys_menu.inheritance like '%{{.cn_id}}%'
 {{end}}
 {{if ne .type_op ""}}
-    and type {{.type_op}} {{.type}}
+    and sys_menu.type {{.type_op}} {{.type}}
+{{end}}
+{{if ne .user_id ""}}
+    and sys_user.id = '{{.user_id}}'
+{{else}}
+    group by sys_menu.id
 {{end}}

+ 15 - 7
sqlconfig/system_controller/system_find_menu_page_select.tpl

@@ -1,21 +1,29 @@
 
 select
-    *
+    sys_menu.*
 from
-    sys_menu
+    sys_menu, sys_role_menu, sys_user_role, sys_user
 where
-    del_flag = 0
+    sys_menu.id = sys_role_menu.menu_id
+    and sys_role_menu.role_id = sys_user_role.role_id
+    and sys_user_role.user_id = sys_user.id
+    and sys_menu.del_flag = 0
 {{if ne .name ""}}
-    and name like '%{{.name}}%'
+    and sys_menu.name like '%{{.name}}%'
 {{end}}
 {{if ne .code ""}}
-    and code like '%{{.code}}%'
+    and sys_menu.code like '%{{.code}}%'
 {{end}}
 {{if ne .cn_id ""}}
-    and inheritance like '%{{.cn_id}}%'
+    and sys_menu.inheritance like '%{{.cn_id}}%'
 {{end}}
 {{if ne .type_op ""}}
-    and type {{.type_op}} {{.type}}
+    and sys_menu.type {{.type_op}} {{.type}}
+{{end}}
+{{if ne .user_id ""}}
+    and sys_user.id = '{{.user_id}}'
+{{else}}
+    group by sys_menu.id
 {{end}}
 order by order_num
 LIMIT {{.rows}} OFFSET {{.offset}}