|
|
@@ -4,8 +4,10 @@ import (
|
|
|
"context"
|
|
|
"dashoo.cn/micro/app/dao"
|
|
|
"dashoo.cn/micro/app/model"
|
|
|
+ "dashoo.cn/opms_libary/myerrors"
|
|
|
"dashoo.cn/opms_libary/request"
|
|
|
"dashoo.cn/opms_libary/utils"
|
|
|
+ "database/sql"
|
|
|
"errors"
|
|
|
"github.com/gogf/gf/container/gset"
|
|
|
"github.com/gogf/gf/database/gdb"
|
|
|
@@ -15,7 +17,7 @@ import (
|
|
|
"github.com/gogf/gf/util/grand"
|
|
|
)
|
|
|
|
|
|
-type userService struct {
|
|
|
+type UserService struct {
|
|
|
*contextService
|
|
|
Dao *dao.SysUserDao
|
|
|
userRoleDao *dao.SysUserRoleDao
|
|
|
@@ -23,8 +25,8 @@ type userService struct {
|
|
|
userGroupDao *dao.SysUserGroupDao
|
|
|
}
|
|
|
|
|
|
-func NewUserService(ctx context.Context) (svc *userService, err error) {
|
|
|
- svc = new(userService)
|
|
|
+func NewUserService(ctx context.Context) (svc *UserService, err error) {
|
|
|
+ svc = new(UserService)
|
|
|
if svc.contextService, err = svc.Init(ctx); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
@@ -37,7 +39,7 @@ func NewUserService(ctx context.Context) (svc *userService, err error) {
|
|
|
}
|
|
|
|
|
|
// Login 用户登录,成功返回用户UUID,否则返回空字符串;
|
|
|
-func (s *userService) Login(username, password string) (*request.UserInfo, error) {
|
|
|
+func (s *UserService) Login(username, password string) (*request.UserInfo, error) {
|
|
|
record, err := s.Dao.Where("user_name", username).Where("status='10'").FindOne()
|
|
|
if err != nil {
|
|
|
return nil, gerror.New("系统异常")
|
|
|
@@ -65,8 +67,8 @@ func (s *userService) Login(username, password string) (*request.UserInfo, error
|
|
|
return userInfo, nil
|
|
|
}
|
|
|
|
|
|
-func (s *userService) GetUserList(req *model.SysUserSearchReq) (total int, userList []*model.SysUser, err error) {
|
|
|
- userModel := s.Dao.M
|
|
|
+func (s *UserService) GetUserList(req *model.SysUserSearchReq) (total int, userList []*model.SysUserRes, err error) {
|
|
|
+ userModel := s.Dao.M.LeftJoin(dao.SysDept.Table, "dept", "sys_user.dept_id=dept.id").Fields(dao.SysDept.Columns.DeptName)
|
|
|
if req.KeyWords != "" {
|
|
|
keyWords := "%" + req.KeyWords + "%"
|
|
|
userModel = userModel.Where("sys_user.user_name like ? or sys_user.nick_name like ?", keyWords, keyWords)
|
|
|
@@ -90,16 +92,16 @@ func (s *userService) GetUserList(req *model.SysUserSearchReq) (total int, userL
|
|
|
userModel = userModel.WhereLTE("sys_user.created_time", req.EndTime)
|
|
|
}
|
|
|
if len(req.Roles) > 0 {
|
|
|
- sql := dao.NewSysRoleDao(s.Tenant).Fields(dao.SysRole.Columns.Id).WhereIn(dao.SysRole.Columns.RoleKey, req.Roles)
|
|
|
- userModel = userModel.LeftJoin(dao.SysUserRole.Table, "ur", "sys_user.id=ur.user_id").WhereIn("ur.role_id", sql)
|
|
|
+ insql := dao.NewSysRoleDao(s.Tenant).Fields(dao.SysRole.Columns.Id).WhereIn(dao.SysRole.Columns.RoleKey, req.Roles)
|
|
|
+ userModel = userModel.LeftJoin(dao.SysUserRole.Table, "ur", "sys_user.id=ur.user_id").WhereIn("ur.role_id", insql)
|
|
|
}
|
|
|
if len(req.Posts) > 0 {
|
|
|
- sql := dao.NewSysPostDao(s.Tenant).Fields(dao.SysPost.Columns.Id).WhereIn(dao.SysPost.Columns.PostCode, req.Posts)
|
|
|
- userModel = userModel.LeftJoin(dao.SysUserPost.Table, "up", "sys_user.id=up.user_id").WhereIn("up.post_id", sql)
|
|
|
+ insql := dao.NewSysPostDao(s.Tenant).Fields(dao.SysPost.Columns.Id).WhereIn(dao.SysPost.Columns.PostCode, req.Posts)
|
|
|
+ userModel = userModel.LeftJoin(dao.SysUserPost.Table, "up", "sys_user.id=up.user_id").WhereIn("up.post_id", insql)
|
|
|
}
|
|
|
if len(req.Groups) > 0 {
|
|
|
- sql := dao.NewSysGroupDao(s.Tenant).Fields(dao.SysGroup.Columns.Id).WhereIn(dao.SysGroup.Columns.GroupCode, req.Groups)
|
|
|
- userModel = userModel.LeftJoin(dao.SysUserGroup.Table, "ug", "sys_user.id=ug.user_id").WhereIn("ug.group_id", sql)
|
|
|
+ insql := dao.NewSysGroupDao(s.Tenant).Fields(dao.SysGroup.Columns.Id).WhereIn(dao.SysGroup.Columns.GroupCode, req.Groups)
|
|
|
+ userModel = userModel.LeftJoin(dao.SysUserGroup.Table, "ug", "sys_user.id=ug.user_id").WhereIn("ug.group_id", insql)
|
|
|
}
|
|
|
if userModel, err = s.SetDataScopeWhere(userModel); err != nil {
|
|
|
return 0, nil, err
|
|
|
@@ -107,16 +109,15 @@ func (s *userService) GetUserList(req *model.SysUserSearchReq) (total int, userL
|
|
|
|
|
|
total, err = userModel.Count()
|
|
|
if err != nil {
|
|
|
- g.Log().Error(err)
|
|
|
- err = gerror.New("获取总行数失败")
|
|
|
return
|
|
|
}
|
|
|
- err = userModel.Fields("sys_user.*").Group("sys_user.id").Page(req.PageNum, req.PageSize).Order("id asc").Scan(&userList)
|
|
|
+ err = userModel.Fields("sys_user.*").FieldsEx(s.Dao.Columns.Password, s.Dao.Columns.UserSalt).
|
|
|
+ Group("sys_user.id").Page(req.PageNum, req.PageSize).Order("sys_user.id asc").Scan(&userList)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// GetUserByDept 获取部门下用户
|
|
|
-func (s *userService) GetUserByDept(deptId int) (userList []*model.SysUser, err error) {
|
|
|
+func (s *UserService) GetUserByDept(deptId int) (userList []*model.SysUser, err error) {
|
|
|
count, err := dao.NewSysDeptDao(s.Tenant).Where(dao.SysDept.Columns.Id, deptId).Where(dao.SysDept.Columns.Status, "10").Count()
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
@@ -124,12 +125,12 @@ func (s *userService) GetUserByDept(deptId int) (userList []*model.SysUser, err
|
|
|
if count == 0 {
|
|
|
return nil, gerror.New("部门不存在或已停用")
|
|
|
}
|
|
|
- err = s.Dao.Where(s.Dao.Columns.DeptId, deptId).FieldsEx(dao.SysUser.Columns.Password, dao.SysUser.Columns.UserSalt).Scan(&userList)
|
|
|
+ err = s.Dao.Where(s.Dao.Columns.DeptId, deptId).FieldsEx(s.Dao.Columns.Password, s.Dao.Columns.UserSalt).Scan(&userList)
|
|
|
return userList, err
|
|
|
}
|
|
|
|
|
|
// GetUserByRole 获取角色关联的用户
|
|
|
-func (s *userService) GetUserByRole(roleId int) (userList []*model.SysUser, err error) {
|
|
|
+func (s *UserService) GetUserByRole(roleId int) (userList []*model.SysUser, err error) {
|
|
|
count, err := dao.NewSysRoleDao(s.Tenant).Where(dao.SysRole.Columns.Id, roleId).Where(dao.SysRole.Columns.Status, "10").Count()
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
@@ -138,14 +139,14 @@ func (s *userService) GetUserByRole(roleId int) (userList []*model.SysUser, err
|
|
|
return nil, gerror.New("角色不存在或已停用")
|
|
|
}
|
|
|
userList = make([]*model.SysUser, 0)
|
|
|
- err = s.Dao.FieldsEx(dao.SysUser.Columns.Password, dao.SysUser.Columns.UserSalt).Where(s.Dao.Columns.Status, "10").
|
|
|
+ err = s.Dao.FieldsEx(s.Dao.Columns.Password, s.Dao.Columns.UserSalt).Where(s.Dao.Columns.Status, "10").
|
|
|
WhereIn(s.Dao.Columns.Id, dao.NewSysUserRoleDao(s.Tenant).Fields(dao.SysUserRole.Columns.UserId).WhereIn(dao.SysUserRole.Columns.RoleId, roleId)).
|
|
|
Scan(&userList)
|
|
|
return userList, err
|
|
|
}
|
|
|
|
|
|
// GetAdminUserByUsernamePassword 后台登陆验证
|
|
|
-func (s *userService) GetAdminUserByUsernamePassword(ctx context.Context, req *model.LoginParamsReq) (user *model.LoginUserRes, err error) {
|
|
|
+func (s *UserService) GetAdminUserByUsernamePassword(ctx context.Context, req *model.LoginParamsReq) (user *model.LoginUserRes, err error) {
|
|
|
user, err = s.GetUserByUsernamePassword(ctx, req)
|
|
|
if err != nil {
|
|
|
return
|
|
|
@@ -158,7 +159,7 @@ func (s *userService) GetAdminUserByUsernamePassword(ctx context.Context, req *m
|
|
|
}
|
|
|
|
|
|
// GetUserByUsernamePassword 登陆验证
|
|
|
-func (s *userService) GetUserByUsernamePassword(ctx context.Context, req *model.LoginParamsReq) (user *model.LoginUserRes, err error) {
|
|
|
+func (s *UserService) GetUserByUsernamePassword(ctx context.Context, req *model.LoginParamsReq) (user *model.LoginUserRes, err error) {
|
|
|
user, err = s.GetUserByUsername(ctx, req.Username)
|
|
|
if err != nil {
|
|
|
return
|
|
|
@@ -178,19 +179,26 @@ func (s *userService) GetUserByUsernamePassword(ctx context.Context, req *model.
|
|
|
}
|
|
|
|
|
|
// GetUserByUsername 通过用户名获取用户信息
|
|
|
-func (s *userService) GetUserByUsername(ctx context.Context, userName string) (user *model.LoginUserRes, err error) {
|
|
|
- return dao.SysUser.FindByUsername(ctx, userName)
|
|
|
+func (s *UserService) GetUserByUsername(ctx context.Context, userName string) (user *model.LoginUserRes, err error) {
|
|
|
+ user = &model.LoginUserRes{}
|
|
|
+ err = s.Dao.Ctx(ctx).Fields(user).Where(s.Dao.Columns.UserName, userName).Scan(user)
|
|
|
+ if err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ if err == sql.ErrNoRows {
|
|
|
+ return nil, myerrors.TipsError("用户信息不存在")
|
|
|
+ }
|
|
|
+ return user, nil
|
|
|
}
|
|
|
|
|
|
// GetUserInfoById 通过Id获取用户信息
|
|
|
-func (s *userService) GetUserInfoById(id int, withPwd ...bool) (user *model.SysUser, err error) {
|
|
|
+func (s *UserService) GetUserInfoById(id int, withPwd ...bool) (user *model.SysUser, err error) {
|
|
|
if len(withPwd) > 0 && withPwd[0] {
|
|
|
//用户用户信息
|
|
|
- err = dao.SysUser.Where(dao.SysUser.Columns.Id, id).Scan(&user)
|
|
|
+ err = s.Dao.Where(s.Dao.Columns.Id, id).Scan(&user)
|
|
|
} else {
|
|
|
//用户用户信息
|
|
|
- err = dao.SysUser.Where(dao.SysUser.Columns.Id, id).
|
|
|
- FieldsEx(dao.SysUser.Columns.Password, dao.SysUser.Columns.UserSalt).Scan(&user)
|
|
|
+ err = s.Dao.Where(s.Dao.Columns.Id, id).FieldsEx(s.Dao.Columns.Password, s.Dao.Columns.UserSalt).Scan(&user)
|
|
|
}
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
@@ -200,7 +208,7 @@ func (s *userService) GetUserInfoById(id int, withPwd ...bool) (user *model.SysU
|
|
|
}
|
|
|
|
|
|
// GetUserPermission 获取用户权限字符(角色、岗位、用户组)
|
|
|
-func (s *userService) GetUserPermission(userId int) ([]string, []string, []string, error) {
|
|
|
+func (s *UserService) GetUserPermission(userId int) ([]string, []string, []string, error) {
|
|
|
s.userRoleDao = dao.NewSysUserRoleDao(s.Tenant)
|
|
|
s.userPostDao = dao.NewSysUserPostDao(s.Tenant)
|
|
|
s.userGroupDao = dao.NewSysUserGroupDao(s.Tenant)
|
|
|
@@ -227,7 +235,7 @@ func (s *userService) GetUserPermission(userId int) ([]string, []string, []strin
|
|
|
}
|
|
|
|
|
|
// GetUserRoleIds 获取用户角色
|
|
|
-func (s *userService) GetUserRoleIds(userId int) (roleIds []int, err error) {
|
|
|
+func (s *UserService) GetUserRoleIds(userId int) (roleIds []int, err error) {
|
|
|
s.userRoleDao = dao.NewSysUserRoleDao(s.Tenant)
|
|
|
list, err := s.userRoleDao.Where(dao.SysUserRole.Columns.UserId, userId).All()
|
|
|
if err != nil {
|
|
|
@@ -242,7 +250,7 @@ func (s *userService) GetUserRoleIds(userId int) (roleIds []int, err error) {
|
|
|
}
|
|
|
|
|
|
// GetUserPostIds 获取用户岗位
|
|
|
-func (s *userService) GetUserPostIds(userId int) (postIds []int, err error) {
|
|
|
+func (s *UserService) GetUserPostIds(userId int) (postIds []int, err error) {
|
|
|
s.userPostDao = dao.NewSysUserPostDao(s.Tenant)
|
|
|
list, err := s.userPostDao.Where(dao.SysUserPost.Columns.UserId, userId).All()
|
|
|
if err != nil {
|
|
|
@@ -257,7 +265,7 @@ func (s *userService) GetUserPostIds(userId int) (postIds []int, err error) {
|
|
|
}
|
|
|
|
|
|
// GetUserGroupIds 获取用户的用户组
|
|
|
-func (s *userService) GetUserGroupIds(userId int) (postIds []int, err error) {
|
|
|
+func (s *UserService) GetUserGroupIds(userId int) (postIds []int, err error) {
|
|
|
s.userGroupDao = dao.NewSysUserGroupDao(s.Tenant)
|
|
|
list, err := s.userGroupDao.Where(dao.SysUserGroup.Columns.UserId, userId).All()
|
|
|
if err != nil {
|
|
|
@@ -272,7 +280,7 @@ func (s *userService) GetUserGroupIds(userId int) (postIds []int, err error) {
|
|
|
}
|
|
|
|
|
|
// GetRolesByUserId 根据用户id获取岗位信息详情
|
|
|
-func (s *userService) GetRolesByUserId(userId int) ([]*model.SysRole, error) {
|
|
|
+func (s *UserService) GetRolesByUserId(userId int) ([]*model.SysRole, error) {
|
|
|
roleIds, err := s.GetUserRoleIds(userId)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
@@ -282,7 +290,7 @@ func (s *userService) GetRolesByUserId(userId int) ([]*model.SysRole, error) {
|
|
|
}
|
|
|
|
|
|
// GetPostsByUserId 根据用户id获取岗位信息详情
|
|
|
-func (s *userService) GetPostsByUserId(userId int) ([]*model.SysPost, error) {
|
|
|
+func (s *UserService) GetPostsByUserId(userId int) ([]*model.SysPost, error) {
|
|
|
postIds, err := s.GetUserPostIds(userId)
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
@@ -291,14 +299,14 @@ func (s *userService) GetPostsByUserId(userId int) ([]*model.SysPost, error) {
|
|
|
return posts, err
|
|
|
}
|
|
|
|
|
|
-func (s *userService) CreateUser(req *model.AddUserReq) (err error) {
|
|
|
+func (s *UserService) CreateUser(req *model.AddUserReq) (err error) {
|
|
|
var tx *gdb.TX
|
|
|
tx, err = g.DB().Begin()
|
|
|
if err != nil {
|
|
|
err = gerror.New("事务开启失败")
|
|
|
return
|
|
|
}
|
|
|
- Model := dao.SysUser.TX(tx)
|
|
|
+ Model := s.Dao.TX(tx)
|
|
|
if i, _ := Model.Where("user_name=?", req.UserName).Count(); i != 0 {
|
|
|
err = gerror.New("用户名已经存在")
|
|
|
tx.Rollback()
|
|
|
@@ -332,7 +340,7 @@ func (s *userService) CreateUser(req *model.AddUserReq) (err error) {
|
|
|
}
|
|
|
|
|
|
// AddUserOtherInfo 重新设置用户相关其他表信息
|
|
|
-func (s *userService) AddUserOtherInfo(req model.SetUserReq, insertId int64, tx *gdb.TX) (err error) {
|
|
|
+func (s *UserService) AddUserOtherInfo(req model.SetUserReq, insertId int64, tx *gdb.TX) (err error) {
|
|
|
// 设置用户角色信息
|
|
|
err = s.AddUserRole(req.RoleIds, insertId, tx)
|
|
|
if err != nil {
|
|
|
@@ -361,9 +369,10 @@ func (s *userService) AddUserOtherInfo(req model.SetUserReq, insertId int64, tx
|
|
|
}
|
|
|
|
|
|
// AddUserRole 添加用户角色信息
|
|
|
-func (s *userService) AddUserRole(roleIds []int, userId int64, tx *gdb.TX) (err error) {
|
|
|
+func (s *UserService) AddUserRole(roleIds []int, userId int64, tx *gdb.TX) (err error) {
|
|
|
+ s.userRoleDao = dao.NewSysUserRoleDao(s.Tenant)
|
|
|
//删除旧用户角色信息
|
|
|
- _, err = dao.SysUserRole.TX(tx).Where(dao.SysUserPost.Columns.UserId, userId).Delete()
|
|
|
+ _, err = s.userRoleDao.TX(tx).Where(dao.SysUserPost.Columns.UserId, userId).Delete()
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
return
|
|
|
@@ -379,7 +388,7 @@ func (s *userService) AddUserRole(roleIds []int, userId int64, tx *gdb.TX) (err
|
|
|
dao.SysUserRole.Columns.RoleId: v,
|
|
|
})
|
|
|
}
|
|
|
- _, err = dao.SysUserRole.TX(tx).Data(data).Insert()
|
|
|
+ _, err = s.userRoleDao.TX(tx).Data(data).Insert()
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
return
|
|
|
@@ -388,9 +397,10 @@ func (s *userService) AddUserRole(roleIds []int, userId int64, tx *gdb.TX) (err
|
|
|
}
|
|
|
|
|
|
// AddUserPost 添加用户岗位信息
|
|
|
-func (s *userService) AddUserPost(postIds []int, userId int64, tx *gdb.TX) (err error) {
|
|
|
+func (s *UserService) AddUserPost(postIds []int, userId int64, tx *gdb.TX) (err error) {
|
|
|
+ s.userPostDao = dao.NewSysUserPostDao(s.Tenant)
|
|
|
//删除旧岗位信息
|
|
|
- _, err = dao.SysUserPost.TX(tx).Where(dao.SysUserPost.Columns.UserId, userId).Delete()
|
|
|
+ _, err = s.userPostDao.TX(tx).Where(dao.SysUserPost.Columns.UserId, userId).Delete()
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
return
|
|
|
@@ -406,7 +416,7 @@ func (s *userService) AddUserPost(postIds []int, userId int64, tx *gdb.TX) (err
|
|
|
dao.SysUserPost.Columns.PostId: v,
|
|
|
})
|
|
|
}
|
|
|
- _, err = dao.SysUserPost.TX(tx).Data(data).Insert()
|
|
|
+ _, err = s.userPostDao.TX(tx).Data(data).Insert()
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
return
|
|
|
@@ -415,9 +425,10 @@ func (s *userService) AddUserPost(postIds []int, userId int64, tx *gdb.TX) (err
|
|
|
}
|
|
|
|
|
|
// AddUserGroup 添加用户的用户组信息
|
|
|
-func (s *userService) AddUserGroup(groupIds []int, userId int64, tx *gdb.TX) (err error) {
|
|
|
+func (s *UserService) AddUserGroup(groupIds []int, userId int64, tx *gdb.TX) (err error) {
|
|
|
+ s.userGroupDao = dao.NewSysUserGroupDao(s.Tenant)
|
|
|
//删除旧用户组信息
|
|
|
- _, err = dao.SysUserGroup.TX(tx).Where(dao.SysUserGroup.Columns.UserId, userId).Delete()
|
|
|
+ _, err = s.userGroupDao.TX(tx).Where(dao.SysUserGroup.Columns.UserId, userId).Delete()
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
return
|
|
|
@@ -435,7 +446,7 @@ func (s *userService) AddUserGroup(groupIds []int, userId int64, tx *gdb.TX) (er
|
|
|
dao.SysUserGroup.Columns.CreatedName: v,
|
|
|
})
|
|
|
}
|
|
|
- _, err = dao.SysUserGroup.TX(tx).Data(data).Insert()
|
|
|
+ _, err = s.userGroupDao.TX(tx).Data(data).Insert()
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
return
|
|
|
@@ -444,8 +455,8 @@ func (s *userService) AddUserGroup(groupIds []int, userId int64, tx *gdb.TX) (er
|
|
|
}
|
|
|
|
|
|
// UpdateUser 修改用户
|
|
|
-func (s *userService) UpdateUser(req *model.EditUserReq) (err error) {
|
|
|
- if i, _ := dao.SysUser.Where("id!=? and phone=?", req.Id, req.Phone).Count(); i != 0 {
|
|
|
+func (s *UserService) UpdateUser(req *model.EditUserReq) (err error) {
|
|
|
+ if i, _ := s.Dao.Where("id!=? and phone=?", req.Id, req.Phone).Count(); i != 0 {
|
|
|
err = gerror.New("手机号已经存在")
|
|
|
return
|
|
|
}
|
|
|
@@ -453,7 +464,7 @@ func (s *userService) UpdateUser(req *model.EditUserReq) (err error) {
|
|
|
tx, err = g.DB().Begin()
|
|
|
//保存管理员信息
|
|
|
var userData *model.SysUser
|
|
|
- err = dao.SysUser.Where("id", req.Id).Scan(&userData)
|
|
|
+ err = s.Dao.Where("id", req.Id).Scan(&userData)
|
|
|
if err != nil || userData == nil {
|
|
|
g.Log().Error(err)
|
|
|
err = gerror.New("获取用户信息失败")
|
|
|
@@ -464,8 +475,8 @@ func (s *userService) UpdateUser(req *model.EditUserReq) (err error) {
|
|
|
return
|
|
|
}
|
|
|
SetUpdatedInfo(userData, s.GetCxtUserId(), s.GetCxtUserName())
|
|
|
- _, err = dao.SysUser.TX(tx).FieldsEx(dao.SysUser.Columns.Id, dao.SysUser.Columns.CreatedTime,
|
|
|
- dao.SysUser.Columns.DeletedTime, dao.SysUser.Columns.LoginDate).
|
|
|
+ _, err = s.Dao.TX(tx).FieldsEx(s.Dao.Columns.Id, s.Dao.Columns.CreatedTime,
|
|
|
+ s.Dao.Columns.DeletedTime, s.Dao.Columns.LoginDate).
|
|
|
WherePri(userData.Id).Update(userData)
|
|
|
if err != nil {
|
|
|
g.Log().Error(err)
|
|
|
@@ -481,31 +492,31 @@ func (s *userService) UpdateUser(req *model.EditUserReq) (err error) {
|
|
|
}
|
|
|
|
|
|
// ResetUserPwd 重置用户密码
|
|
|
-func (s *userService) ResetUserPwd(req *model.SysUserResetPwdReq) error {
|
|
|
+func (s *UserService) ResetUserPwd(req *model.SysUserResetPwdReq) error {
|
|
|
salt := grand.S(10)
|
|
|
password := utils.EncryptPassword(req.Password, salt)
|
|
|
data := g.Map{
|
|
|
- dao.SysUser.Columns.UserSalt: salt,
|
|
|
- dao.SysUser.Columns.Password: password,
|
|
|
+ s.Dao.Columns.UserSalt: salt,
|
|
|
+ s.Dao.Columns.Password: password,
|
|
|
}
|
|
|
SetCurrentUpdatedInfo(data, s.CxtUser)
|
|
|
- _, err := dao.SysUser.WherePri(req.Id).Update()
|
|
|
+ _, err := s.Dao.WherePri(req.Id).Update()
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
-func (s *userService) ChangeUserStatus(req *model.SysUserStatusReq) error {
|
|
|
+func (s *UserService) ChangeUserStatus(req *model.SysUserStatusReq) error {
|
|
|
data := g.Map{
|
|
|
- dao.SysUser.Columns.Status: req.UserStatus,
|
|
|
+ s.Dao.Columns.Status: req.UserStatus,
|
|
|
}
|
|
|
SetCurrentUpdatedInfo(data, s.CxtUser)
|
|
|
- _, err := dao.SysUser.WherePri(req.Id).Update()
|
|
|
+ _, err := s.Dao.WherePri(req.Id).Update()
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
// DeleteUserByIds 删除用户信息
|
|
|
-func (s *userService) DeleteUserByIds(ctx context.Context, ids []int64) error {
|
|
|
+func (s *UserService) DeleteUserByIds(ctx context.Context, ids []int64) error {
|
|
|
return g.DB().Transaction(ctx, func(ctx context.Context, tx *gdb.TX) error {
|
|
|
- _, err := s.Dao.Ctx(ctx).TX(tx).Where(dao.SysUser.Columns.Id+" in(?)", ids).Delete()
|
|
|
+ _, err := s.Dao.Ctx(ctx).TX(tx).Where(s.Dao.Columns.Id+" in(?)", ids).Delete()
|
|
|
//删除用户对应的岗位
|
|
|
_, err = dao.SysUserPost.Ctx(ctx).TX(tx).Delete(dao.SysUserPost.Columns.UserId+" in (?)", ids)
|
|
|
return err
|
|
|
@@ -513,21 +524,21 @@ func (s *userService) DeleteUserByIds(ctx context.Context, ids []int64) error {
|
|
|
}
|
|
|
|
|
|
// SetAvatar 修改用户头像
|
|
|
-func (s *userService) SetAvatar(userId int, avatarUrl string) error {
|
|
|
- _, err := dao.SysUser.WherePri(userId).Unscoped().Update(g.Map{
|
|
|
- dao.SysUser.Columns.Avatar: avatarUrl,
|
|
|
+func (s *UserService) SetAvatar(userId int, avatarUrl string) error {
|
|
|
+ _, err := s.Dao.WherePri(userId).Unscoped().Update(g.Map{
|
|
|
+ s.Dao.Columns.Avatar: avatarUrl,
|
|
|
})
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
// ProfileEdit 修改个人资料
|
|
|
-func (s *userService) ProfileEdit(req *model.ProfileUpReq) error {
|
|
|
- _, err := dao.SysUser.WherePri(req.UserId).Unscoped().Update(req)
|
|
|
+func (s *UserService) ProfileEdit(req *model.ProfileUpReq) error {
|
|
|
+ _, err := s.Dao.WherePri(req.UserId).Unscoped().Update(req)
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
// ProfileUpdatePwd 修改个人密码
|
|
|
-func (s *userService) ProfileUpdatePwd(req *model.ProfileUpdatePwdReq) error {
|
|
|
+func (s *UserService) ProfileUpdatePwd(req *model.ProfileUpdatePwdReq) error {
|
|
|
userInfo, err := s.GetUserInfoById(req.UserId, true)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
@@ -539,21 +550,21 @@ func (s *userService) ProfileUpdatePwd(req *model.ProfileUpdatePwdReq) error {
|
|
|
salt := grand.S(10)
|
|
|
newPassword := utils.EncryptPassword(req.NewPassword, salt)
|
|
|
data := g.Map{
|
|
|
- dao.SysUser.Columns.UserSalt: salt,
|
|
|
- dao.SysUser.Columns.Password: newPassword,
|
|
|
+ s.Dao.Columns.UserSalt: salt,
|
|
|
+ s.Dao.Columns.Password: newPassword,
|
|
|
}
|
|
|
SetCurrentUpdatedInfo(data, s.CxtUser)
|
|
|
- _, err = dao.SysUser.WherePri(req.UserId).Unscoped().Update(data)
|
|
|
+ _, err = s.Dao.WherePri(req.UserId).Unscoped().Update(data)
|
|
|
return err
|
|
|
}
|
|
|
|
|
|
-// GetUsers 通过用户ids查询多个用户信息
|
|
|
-func (s *userService) GetUsers(ids []int) (users []*model.SysUserRes, err error) {
|
|
|
+// GetUsersNickName 通过用户ids查询多个用户信息
|
|
|
+func (s *UserService) GetUsersNickName(ids []int) (users []*model.SysUserNickNameRes, err error) {
|
|
|
if len(ids) == 0 {
|
|
|
return
|
|
|
}
|
|
|
idsSet := gset.NewIntSetFrom(ids).Slice()
|
|
|
- err = dao.SysUser.Where(dao.SysUser.Columns.Id+" in(?)", idsSet).Fields(model.SysUserRes{}).
|
|
|
- Order(dao.SysUser.Columns.Id + " ASC").Scan(&users)
|
|
|
+ err = s.Dao.Where(s.Dao.Columns.Id+" in(?)", idsSet).Fields(model.SysUserNickNameRes{}).
|
|
|
+ Order(s.Dao.Columns.Id + " ASC").Scan(&users)
|
|
|
return
|
|
|
}
|