package system import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" "github.com/google/uuid" "go-admin/app/admin/models" "go-admin/common/global" "go-admin/tools" "go-admin/tools/app" ) // @Summary 列表用户信息数据 // @Description 获取JSON // @Tags 用户 // @Param username query string false "username" // @Success 200 {string} string "{"code": 200, "data": [...]}" // @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}" // @Router /api/v1/sysUserList [get] // @Security Bearer func GetSysUserList(c *gin.Context) { var data models.SysUser var err error var pageSize = 10 var pageIndex = 1 size := c.Request.FormValue("pageSize") if size != "" { pageSize, err = tools.StringToInt(size) } index := c.Request.FormValue("pageIndex") if index != "" { pageIndex, err = tools.StringToInt(index) } data.Username = c.Request.FormValue("username") data.Status = c.Request.FormValue("status") data.Phone = c.Request.FormValue("phone") postId := c.Request.FormValue("postId") data.PostId, _ = tools.StringToInt(postId) deptId := c.Request.FormValue("deptId") data.DeptId, _ = tools.StringToInt(deptId) data.DataScope = tools.GetUserIdStr(c) result, count, err := data.GetPage(pageSize, pageIndex) tools.HasError(err, "", -1) app.PageOK(c, result, count, pageIndex, pageSize, "") } // @Summary 获取用户 // @Description 获取JSON // @Tags 用户 // @Param userId path int true "用户编码" // @Success 200 {object} app.Response "{"code": 200, "data": [...]}" // @Router /api/v1/sysUser/{userId} [get] // @Security Bearer func GetSysUser(c *gin.Context) { var SysUser models.SysUser SysUser.UserId, _ = tools.StringToInt(c.Param("userId")) result, err := SysUser.Get() tools.HasError(err, "抱歉未找到相关信息", -1) var SysRole models.SysRole var Post models.Post roles, err := SysRole.GetList() posts, err := Post.GetList() postIds := make([]int, 0) postIds = append(postIds, result.PostId) roleIds := make([]int, 0) roleIds = append(roleIds, result.RoleId) app.Custum(c, gin.H{ "code": 200, "data": result, "postIds": postIds, "roleIds": roleIds, "roles": roles, "posts": posts, }) } // @Summary 获取个人中心用户 // @Description 获取JSON // @Tags 个人中心 // @Success 200 {object} app.Response "{"code": 200, "data": [...]}" // @Router /api/v1/user/profile [get] // @Security Bearer func GetSysUserProfile(c *gin.Context) { var SysUser models.SysUser userId := tools.GetUserIdStr(c) SysUser.UserId, _ = tools.StringToInt(userId) result, err := SysUser.Get() tools.HasError(err, "抱歉未找到相关信息", -1) var SysRole models.SysRole var Post models.Post var Dept models.SysDept //获取角色列表 roles, err := SysRole.GetList() //获取职位列表 posts, err := Post.GetList() //获取部门列表 Dept.DeptId = result.DeptId dept, err := Dept.Get() postIds := make([]int, 0) postIds = append(postIds, result.PostId) roleIds := make([]int, 0) roleIds = append(roleIds, result.RoleId) app.Custum(c, gin.H{ "code": 200, "data": result, "postIds": postIds, "roleIds": roleIds, "roles": roles, "posts": posts, "dept": dept, }) } // @Summary 获取用户角色和职位 // @Description 获取JSON // @Tags 用户 // @Success 200 {object} app.Response "{"code": 200, "data": [...]}" // @Router /api/v1/sysUser [get] // @Security Bearer func GetSysUserInit(c *gin.Context) { var SysRole models.SysRole var Post models.Post roles, err := SysRole.GetList() posts, err := Post.GetList() tools.HasError(err, "抱歉未找到相关信息", -1) mp := make(map[string]interface{}, 2) mp["roles"] = roles mp["posts"] = posts app.OK(c, mp, "") } // @Summary 创建用户 // @Description 获取JSON // @Tags 用户 // @Accept application/json // @Product application/json // @Param data body models.SysUser true "用户数据" // @Success 200 {string} string "{"code": 200, "message": "添加成功"}" // @Success 200 {string} string "{"code": -1, "message": "添加失败"}" // @Router /api/v1/sysUser [post] func InsertSysUser(c *gin.Context) { var sysuser models.SysUser err := c.BindWith(&sysuser, binding.JSON) tools.HasError(err, "非法数据格式", 500) sysuser.CreateBy = tools.GetUserIdStr(c) id, err := sysuser.Insert() tools.HasError(err, "添加失败", 500) app.OK(c, id, "添加成功") } // @Summary 修改用户数据 // @Description 获取JSON // @Tags 用户 // @Accept application/json // @Product application/json // @Param data body models.SysUser true "body" // @Success 200 {string} string "{"code": 200, "message": "修改成功"}" // @Success 200 {string} string "{"code": -1, "message": "修改失败"}" // @Router /api/v1/sysuser/{userId} [put] func UpdateSysUser(c *gin.Context) { var data models.SysUser err := c.Bind(&data) tools.HasError(err, "数据解析失败", -1) data.UpdateBy = tools.GetUserIdStr(c) result, err := data.Update(data.UserId) tools.HasError(err, "修改失败", 500) app.OK(c, result, "修改成功") } // @Summary 删除用户数据 // @Description 删除数据 // @Tags 用户 // @Param userId path int true "userId" // @Success 200 {string} string "{"code": 200, "message": "删除成功"}" // @Success 200 {string} string "{"code": -1, "message": "删除失败"}" // @Router /api/v1/sysuser/{userId} [delete] func DeleteSysUser(c *gin.Context) { var data models.SysUser data.UpdateBy = tools.GetUserIdStr(c) IDS := tools.IdsStrToIdsIntGroup("userId", c) result, err := data.BatchDelete(IDS) tools.HasError(err, "删除失败", 500) app.OK(c, result, "删除成功") } // @Summary 修改头像 // @Description 获取JSON // @Tags 用户 // @Accept multipart/form-data // @Param file formData file true "file" // @Success 200 {string} string "{"code": 200, "message": "添加成功"}" // @Success 200 {string} string "{"code": -1, "message": "添加失败"}" // @Router /api/v1/user/profileAvatar [post] func InsetSysUserAvatar(c *gin.Context) { form, _ := c.MultipartForm() files := form.File["upload[]"] guid := uuid.New().String() filPath := "static/uploadfile/" + guid + ".jpg" for _, file := range files { global.Logger.Debug(file.Filename) // 上传文件至指定目录 _ = c.SaveUploadedFile(file, filPath) } sysuser := models.SysUser{} sysuser.UserId = tools.GetUserId(c) sysuser.Avatar = "/" + filPath sysuser.UpdateBy = tools.GetUserIdStr(c) sysuser.Update(sysuser.UserId) app.OK(c, filPath, "修改成功") } func SysUserUpdatePwd(c *gin.Context) { var pwd models.SysUserPwd err := c.Bind(&pwd) tools.HasError(err, "数据解析失败", 500) sysuser := models.SysUser{} sysuser.UserId = tools.GetUserId(c) sysuser.SetPwd(pwd) app.OK(c, "", "密码修改成功") }