123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package api
- import (
- "crazy-fox-backend-api/config"
- "crazy-fox-backend-api/model"
- "crazy-fox-backend-api/service"
- "crazy-fox-backend-api/utils"
- "crazy-fox-backend-api/utils/answer"
- "crazy-fox-backend-api/utils/jwt"
- "github.com/gin-gonic/gin"
- )
- type userApi struct{}
- // CreateUserInfo 创建用户信息
- func (Api *userApi) CreateUserInfo(c *gin.Context) {
- var r model.CreateUserInfo
- utils.Verify(&r, utils.CreateUserInfoVerify, c)
- r.CreateBy = jwt.GetOperatorAccount(c)
- if r.Gid == config.RootGroup && r.CreateBy != config.RootUser {
- answer.FailWithMessage("请选择用户分组", nil, c)
- }
- if err := service.User.CreateUserInfo(r); err != nil {
- answer.FailWithMessage("注册失败", err, c)
- }
- answer.OkWithMessage("注册成功", c)
- }
- // UpdateUserInfo 更新用户信息
- func (Api *userApi) UpdateUserInfo(c *gin.Context) {
- var r model.UpdateUserInfo
- utils.Verify(&r, utils.UpdateUserInfoVerify, c)
- // 更新用户信息
- service.User.UpdateUserInfo(r)
- answer.OkWithMessage("更新信息成功", c)
- }
- // MultiUpdateUserGid 批量更新用户Gid
- func (Api *userApi) MultiUpdateUserGid(c *gin.Context) {
- var userInfoList model.MultiUpdateUserGid
- utils.Verify(&userInfoList, utils.MultiUpdateUserGidVerify, c)
- service.User.MultiUpdateUserGid(userInfoList)
- answer.OkWithMessage("批量更新所属分组成功", c)
- }
- // ChangePassword 修改用户密码
- func (Api *userApi) ChangePassword(c *gin.Context) {
- var oneUser model.ChangePasswordStruct
- utils.Verify(&oneUser, utils.ChangePasswordVerify, c)
- if err := service.User.ChangePassword(oneUser); err != nil {
- answer.FailWithMessage("修改失败", err, c)
- }
- answer.OkWithMessage("修改成功", c)
- }
- // UpdateHeadPic 修改用户头像
- func (Api *userApi) UpdateHeadPic(c *gin.Context) {
- var oneUser model.UpdateHeadPicStruct
- utils.Verify(&oneUser, utils.UpdateHeadPicVerify, c)
- service.User.UpdateHeadPic(oneUser)
- answer.OkWithMessage("修改成功", c)
- }
- // GetUserList 获取用户列表
- func (Api *userApi) GetUserList(c *gin.Context) {
- var req model.ReqUserList
- utils.Verify(&req, utils.PageListVerify, c)
- account := jwt.GetOperatorAccount(c)
- var gidList = req.FilterGidList
- if len(gidList) == 0 {
- gidList = service.Group.GetChildrenIdListByGid(req.Gid, account)
- }
- list, total := service.User.GetUserInfoList(req, gidList)
- answer.OkWithDetailed(model.PageResult{
- List: list,
- Total: total,
- }, "获取成功", c)
- }
- // GetUserListByGid 获取用户列表通过Gid
- func (Api *userApi) GetUserListByGid(c *gin.Context) {
- var userListInfo model.GetByGid
- utils.Verify(&userListInfo, utils.UnVerify, c)
- list := service.User.GetUserListByGid(userListInfo)
- answer.OkWithDetailed(model.PageResult{
- List: list,
- Total: int64(len(list)),
- }, "获取成功", c)
- }
- // DeleteUser 通过id删除用户
- func (Api *userApi) DeleteUser(c *gin.Context) {
- var reqId model.ReqById
- utils.Verify(&reqId, utils.IdVerify, c)
- if jwt.GetOperatorID(c) == reqId.Id {
- answer.FailWithMessage("删除用户失败,不能删除自己", nil, c)
- }
- service.User.DeleteUser(reqId.Id)
- answer.OkWithMessage("删除成功", c)
- }
- // ResetPassword 重置密码
- func (Api *userApi) ResetPassword(c *gin.Context) {
- var reqId model.ReqById
- utils.Verify(&reqId, utils.IdVerify, c)
- service.User.ResetPassword(reqId.Id)
- answer.OkWithMessage("重置成功", c)
- }
- // UnBindFs 用户飞书ID解绑
- func (Api *userApi) UnBindFs(c *gin.Context) {
- var reqId model.ReqById
- utils.Verify(&reqId, utils.IdVerify, c)
- service.Login.UnbindFs(reqId.Id)
- answer.OkWithMessage("解绑成功", c)
- }
- // GetUserInfoById 获取用户信息
- func (Api *userApi) GetUserInfoById(c *gin.Context) {
- var reqId model.ReqById
- utils.Verify(&reqId, utils.IdVerify, c)
- gid := service.User.GetGidById(reqId.Id)
- routerList := service.Group.GetGroupRouter(gid)
- answer.OkWithDetailed(model.RefreshUserInfo{
- Gid: gid,
- RouterList: routerList,
- }, "获取成功", c)
- }
|