123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package sysuser
  2. import (
  3. "errors"
  4. "wechat-conf/models/model"
  5. "wechat-conf/models/sysuser"
  6. "wechat-conf/service"
  7. "wechat-conf/utils"
  8. "github.com/yl10/kit/encrypt"
  9. )
  10. // SysuserServ 用户
  11. type SysuserServ struct {
  12. ctx *utils.Context
  13. dao *sysuser.SysuserDAO
  14. }
  15. // NewSysuserServ 初始化
  16. func NewSysuserServ(ctx *utils.Context) *SysuserServ {
  17. return &SysuserServ{
  18. ctx: ctx,
  19. dao: sysuser.NewSysuserDAO(ctx),
  20. }
  21. }
  22. func (s *SysuserServ) GetSysuserList(page, pageSize int) (map[string]interface{}, error) {
  23. if pageSize == 0 {
  24. pageSize = service.PAGENUM
  25. }
  26. sysuser, err := s.dao.GetSysuserList(page, pageSize)
  27. if err != nil {
  28. utils.LogError("获取用户列表失败: " + err.Error())
  29. return nil, errors.New("获取用户列表失败")
  30. }
  31. total, err := s.dao.GetSysuserListCount()
  32. if err != nil {
  33. utils.LogError("获取用户列表失败: " + err.Error())
  34. return nil, errors.New("获取用户列表失败")
  35. }
  36. return map[string]interface{}{
  37. "list": sysuser,
  38. "pageSize": pageSize,
  39. "pagenum": total,
  40. "page": page,
  41. }, nil
  42. }
  43. func (s *SysuserServ) GetSysuserById(userId string) (*model.SysUser, error) {
  44. user, err := s.dao.GetSysuserById(userId)
  45. if err != nil {
  46. utils.LogError("获取用户详情失败: " + err.Error())
  47. return nil, errors.New("获取用户详情失败")
  48. }
  49. return user, nil
  50. }
  51. func (s *SysuserServ) SaveUser(user model.SysUser) (*model.SysUser, error) {
  52. var newUser *model.SysUser
  53. var err error
  54. if user.UserId == "" {
  55. user.UserId = utils.GetGUID()
  56. user.Pwd = encrypt.Md5(encrypt.Md5("123456"), user.UserId)
  57. newUser, err = s.dao.AddUser(user)
  58. } else {
  59. err = s.dao.EditUser(user)
  60. newUser = &user
  61. }
  62. if err != nil {
  63. utils.LogError("保存用户详情失败: " + err.Error())
  64. return nil, errors.New("保存用户详情失败")
  65. }
  66. return newUser, nil
  67. }
  68. func (s *SysuserServ) BindUser(userId, orgId string) error {
  69. err := s.dao.BindUserToOrg(userId, orgId)
  70. if err != nil {
  71. utils.LogError("綁定用户失败: " + err.Error())
  72. return errors.New("綁定用户失败")
  73. }
  74. return nil
  75. }
  76. func (s *SysuserServ) DeleteUser(userId string) error {
  77. err := s.dao.DeleteUser(userId)
  78. if err != nil {
  79. utils.LogError("删除用户失败: " + err.Error())
  80. return errors.New("删除用户失败")
  81. }
  82. return nil
  83. }
  84. func (s *SysuserServ) GetAppIdByOrgId(orgId string) (string, error) {
  85. appId, err := s.dao.GetAppIdByOrgId(orgId)
  86. if err != nil {
  87. utils.LogError("获取APPID失败: " + err.Error())
  88. return "", errors.New("获取APPID失败")
  89. }
  90. return appId, nil
  91. }
  92. func (s *SysuserServ) ChangePassword(userId, pwd string) error {
  93. err := s.dao.ChangePassword(userId, pwd)
  94. if err != nil {
  95. utils.LogError("修改密码失败: " + err.Error())
  96. return errors.New("修改密码失败")
  97. }
  98. return nil
  99. }
  100. func (s *SysuserServ) GetOrgAuthByUserId(userId string) (bool, error) {
  101. flag, err := s.dao.GetOrgAuthByUserId(userId)
  102. if err != nil {
  103. utils.LogError("获取用户项目授权失败: " + err.Error())
  104. return false, errors.New("获取用户项目授权失败")
  105. }
  106. return flag, nil
  107. }