huangyh 6 роки тому
батько
коміт
394f634d34

+ 48 - 4
controllers/partial/SystemController.go

@@ -253,20 +253,64 @@ func System_DelUser(c *entitys.CtrlContext) {
 // @Success 200 {object} Account
 // @Failure 403 :id is empty
 func System_UpdateUser(c *entitys.CtrlContext) {
-	var user sysmodel.SysUser
-	err := c.Ctx.BindJSON(&user)
+	tk, _ := c.Ctx.Get("token")
+	user := tk.(*entitys.Token)
+
+	var postData struct {
+		sysmodel.SysUser
+		UserRole []string `json:"user_role"`
+	}
+	//var user sysmodel.SysUser
+	err := c.Ctx.BindJSON(&postData)
+	if err != nil {
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+
+	postData.LastUpdateTime = time.Now().UnixNano()
+	postData.LastUpdateBy = user.UserId
+
+	session := c.Db.NewSession()
+	defer session.Close()
+	session.Begin()
 
+	paramMap, _ := sysutils.BeanToMap(&postData)
+	_, err = session.SqlMapClient("update_sys_user", paramMap).Execute()
 	if err != nil {
+		session.Rollback()
 		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 		return
 	}
 
-	paramMap, _ := sysutils.BeanToMap(&user)
-	_, err = c.Db.SqlMapClient("update_sys_user", paramMap).Execute()
+	userRoles := []sysmodel.SysUserRole{}
+	for _, roleId := range postData.UserRole {
+		userRole := sysmodel.SysUserRole{}
+		userRole.Id = sysutils.NewUUID()
+		userRole.UserId = postData.Id
+		userRole.RoleId = roleId
+		userRole.DelFlag = 0
+		userRole.CreateTime = sysmodel.NowLocal()
+		userRole.CreateBy = user.UserId
+		userRole.LastUpdateBy = user.UserId
+		userRole.LastUpdateTime = time.Now().UnixNano()
+
+		userRoles = append(userRoles, userRole)
+	}
+
+	_, err = session.SqlMapClient("delete_user_role", &map[string]interface{}{"user_id": postData.Id}).Execute()
+	if err != nil {
+		session.Rollback()
+		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
+		return
+	}
+
+	_, err = session.InsertMulti(&userRoles)
 
 	if err == nil {
+		session.Commit()
 		c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
 	} else {
+		session.Rollback()
 		c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
 	}
 }

+ 8 - 11
models/PageResult_gen.go

@@ -1,26 +1,23 @@
-
 package models
+
 import (
 //__import_packages__
 )
 
-
-
 type PageResult struct {
-	
+
 	//页码
-	Page   int `json:"page"`
+	Page int `json:"page"`
 	//单页数
-	Rows   int `json:"rows"`
+	Rows int `json:"rows"`
 	//总数
-	TotalSize   int64 `json:"totalSize"`
+	TotalSize int64 `json:"totalSize"`
 	//总页数
-	TotalPageSize   int64 `json:"totalPageSize"`
+	TotalPageSize int64 `json:"totalPageSize"`
 	//内容
-	Content   interface{} `json:"content"`
-
+	Content interface{} `json:"content"`
 }
 
 func init() {
-    AddTableName("page_result")
+	AddTableName("page_result")
 }

+ 3 - 2
sqlconfig/system_controller/system_find_user_page_select.tpl

@@ -2,8 +2,9 @@
 select
     sys_user.*,
     sys_org.name org_name,
-    GROUP_CONCAT(sys_role.name) user_role,
-    GROUP_CONCAT(sys_role.id) user_role_id
+    sys_org.id org_id,
+    IFNULL(GROUP_CONCAT(sys_role.name), '') role_name,
+    IFNULL(GROUP_CONCAT(sys_role.id), '') user_role
 from
     sys_user
 left join