|
@@ -253,20 +253,64 @@ func System_DelUser(c *entitys.CtrlContext) {
|
|
|
// @Success 200 {object} Account
|
|
// @Success 200 {object} Account
|
|
|
// @Failure 403 :id is empty
|
|
// @Failure 403 :id is empty
|
|
|
func System_UpdateUser(c *entitys.CtrlContext) {
|
|
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 {
|
|
if err != nil {
|
|
|
|
|
+ session.Rollback()
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
return
|
|
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 {
|
|
if err == nil {
|
|
|
|
|
+ session.Commit()
|
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
c.Ctx.JSON(200, sysmodel.SysReturn{200, "", nil})
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ session.Rollback()
|
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
c.Ctx.JSON(500, sysmodel.SysReturn{500, err.Error(), nil})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|