sysuser.go 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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.RealName == "" {
  55. return nil, errors.New("真实姓名不能为空")
  56. }
  57. if user.UserName == "" {
  58. return nil, errors.New("用户名不能为空")
  59. }
  60. if user.Phone == "" {
  61. return nil, errors.New("手机号不能为空")
  62. }
  63. if user.UserId == "" {
  64. user.UserId = utils.GetGUID()
  65. user.Pwd = encrypt.Md5(encrypt.Md5("123456"), user.UserId)
  66. newUser, err = s.dao.AddUser(user)
  67. } else {
  68. err = s.dao.EditUser(user)
  69. newUser = &user
  70. }
  71. if err != nil {
  72. utils.LogError("保存用户详情失败: " + err.Error())
  73. return nil, errors.New("保存用户详情失败")
  74. }
  75. return newUser, nil
  76. }
  77. func (s *SysuserServ) BindUser(userId, orgId string) error {
  78. err := s.dao.BindUserToOrg(userId, orgId)
  79. if err != nil {
  80. utils.LogError("綁定用户失败: " + err.Error())
  81. return errors.New("綁定用户失败")
  82. }
  83. return nil
  84. }
  85. func (s *SysuserServ) DeleteUser(userId string) error {
  86. err := s.dao.DeleteUser(userId)
  87. if err != nil {
  88. utils.LogError("删除用户失败: " + err.Error())
  89. return errors.New("删除用户失败")
  90. }
  91. return nil
  92. }
  93. func (s *SysuserServ) GetAppIdByOrgId(orgId string) (string, error) {
  94. appId, err := s.dao.GetAppIdByOrgId(orgId)
  95. if err != nil {
  96. utils.LogError("获取APPID失败: " + err.Error())
  97. return "", errors.New("获取APPID失败")
  98. }
  99. return appId, nil
  100. }
  101. func (s *SysuserServ) ChangePassword(userId, pwd string) error {
  102. err := s.dao.ChangePassword(userId, pwd)
  103. if err != nil {
  104. utils.LogError("修改密码失败: " + err.Error())
  105. return errors.New("修改密码失败")
  106. }
  107. return nil
  108. }
  109. func (s *SysuserServ) GetOrgAuthByUserId(userId string) (bool, error) {
  110. flag, err := s.dao.GetOrgAuthByUserId(userId)
  111. if err != nil {
  112. utils.LogError("获取用户项目授权失败: " + err.Error())
  113. return false, errors.New("获取用户项目授权失败")
  114. }
  115. return flag, nil
  116. }