package system import ( "encoding/json" "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" "github.com/google/uuid" "go-admin/app/admin/models" "go-admin/logger" "go-admin/tools" "go-admin/tools/app" ) // GetSysUserList // @Summary 列表用户信息数据(update) // @Description 获取JSON // @Tags system/用户 // @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 system/用户 // @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 system/用户 // @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 system/用户 // @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, "") } // InsertSysUser // @Summary 创建用户(update) // @Description 获取JSON // @Tags system/用户 // @Accept application/json // @Product application/json // @Param data body models.InsertSysUserReq 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 req models.InsertSysUserReq err := c.BindWith(&req, binding.JSON) tools.HasError(err, "非法数据格式", 500) SalesCommRateFloat, err := models.StringToFloat(req.SalesCommRate) if err != nil { //logger.Error("brokerage1 err:", err) tools.HasError(err, "数据解析失败", 500) } sysUser := models.SysUser{ SysUserId: req.SysUserId, LoginM: req.LoginM, SysUserB: models.SysUserB{ NickName: req.NickName, Phone: req.Phone, RoleId: req.RoleId, Salt: req.Salt, Avatar: req.Avatar, Sex: req.Sex, Email: req.Email, DeptId: req.DeptId, PostId: req.PostId, Remark: req.Remark, Status: req.Status, AccountType: req.AccountType, CooperativeBusinessId: req.CooperativeBusinessId, CooperativeName: req.CooperativeName, SalesCommRate: SalesCommRateFloat, }, } if len(req.StoreList) != 0 { // 将 StoreData 转换为 JSON 字符串 storeDataJSON, err := json.Marshal(req.StoreList) if err != nil { tools.HasError(err, "数据解析失败", 500) } sysUser.StoreData = string(storeDataJSON) } sysUser.CreateBy = tools.GetUserIdStr(c) id, err := sysUser.Insert() tools.HasError(err, "添加失败", 500) app.OK(c, id, "添加成功") } // UpdateSysUser // @Summary 修改用户数据(update) // @Description 获取JSON // @Tags system/用户 // @Accept application/json // @Product application/json // @Param data body models.InsertSysUserReq 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 req models.InsertSysUserReq err := c.BindWith(&req, binding.JSON) tools.HasError(err, "非法数据格式", 500) SalesCommRateFloat, err := models.StringToFloat(req.SalesCommRate) if err != nil { //logger.Error("brokerage1 err:", err) tools.HasError(err, "数据解析失败", 500) } data := models.SysUser{ SysUserId: req.SysUserId, LoginM: req.LoginM, SysUserB: models.SysUserB{ NickName: req.NickName, Phone: req.Phone, RoleId: req.RoleId, Salt: req.Salt, Avatar: req.Avatar, Sex: req.Sex, Email: req.Email, DeptId: req.DeptId, PostId: req.PostId, Remark: req.Remark, Status: req.Status, AccountType: req.AccountType, CooperativeBusinessId: req.CooperativeBusinessId, CooperativeName: req.CooperativeName, SalesCommRate: SalesCommRateFloat, }, } if len(req.StoreList) != 0 { // 将 StoreData 转换为 JSON 字符串 storeDataJSON, err := json.Marshal(req.StoreList) if err != nil { tools.HasError(err, "数据解析失败", 500) } data.StoreData = string(storeDataJSON) } data.UpdateBy = tools.GetUserIdStr(c) result, err := data.Update(data.UserId) tools.HasError(err, "修改失败", 500) app.OK(c, result, "修改成功") } // @Summary 删除用户数据 // @Description 删除数据 // @Tags system/用户 // @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 system/用户 // @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 { 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, "", "密码修改成功") }