12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package user
  2. import (
  3. "wechat-conf/models/model"
  4. "wechat-conf/utils"
  5. "github.com/go-xorm/xorm"
  6. "github.com/yl10/kit/encrypt"
  7. )
  8. // UserDAO 当前数据库操作对象
  9. type UserDAO struct {
  10. ctx *utils.Context
  11. db *xorm.Session
  12. }
  13. // NewUserDAO New Inst
  14. func NewUserDAO(ctx *utils.Context) *UserDAO {
  15. return &UserDAO{
  16. ctx: ctx,
  17. db: ctx.DB,
  18. }
  19. }
  20. //GetUserByUserName 通过用户名获取用户信息
  21. func (m *UserDAO) GetUserByUserName(name string) (model.SysUser, error) {
  22. query := `
  23. SELECT * FROM
  24. sys_user t
  25. WHERE
  26. user_name = '` + name + `'`
  27. user := new(model.SysUser)
  28. if has, err := m.db.Sql(query).Get(user); err != nil {
  29. return *user, err
  30. } else if !has {
  31. return *user, utils.LogError("账户不存在")
  32. }
  33. return *user, nil
  34. }
  35. // UpdatePassword 更新用户密码
  36. func (m *UserDAO) UpdatePassword(userId, newPass string) error {
  37. password := encrypt.Md5(newPass, userId)
  38. sql := "update sys_user set pwd=? where user_id=?"
  39. _, err := m.db.Exec(sql, password, userId)
  40. if err != nil {
  41. return utils.LogError("更新新密码出错", err)
  42. }
  43. return nil
  44. }
  45. // GetUserByID 获取用户信息
  46. func (m *UserDAO) GetUserByID(userId string) (*model.SysUser, error) {
  47. var user model.SysUser
  48. _, err := m.db.Where("user_id=?", userId).Get(&user)
  49. if err != nil {
  50. return nil, utils.LogError("获取人员信息失败", err)
  51. }
  52. return &user, nil
  53. }