package user import ( "wechat-conf/models/model" "wechat-conf/utils" "github.com/go-xorm/xorm" "github.com/yl10/kit/encrypt" ) // UserDAO 当前数据库操作对象 type UserDAO struct { ctx *utils.Context db *xorm.Session } // NewUserDAO New Inst func NewUserDAO(ctx *utils.Context) *UserDAO { return &UserDAO{ ctx: ctx, db: ctx.DB, } } //GetUserByUserName 通过用户名获取用户信息 func (m *UserDAO) GetUserByUserName(name string) (model.SysUser, error) { query := ` SELECT * FROM sys_user t WHERE user_name = '` + name + `'` user := new(model.SysUser) if has, err := m.db.Sql(query).Get(user); err != nil { return *user, err } else if !has { return *user, utils.LogError("账户不存在") } return *user, nil } // UpdatePassword 更新用户密码 func (m *UserDAO) UpdatePassword(userId, newPass string) error { password := encrypt.Md5(newPass, userId) sql := "update sys_user set pwd=? where user_id=?" _, err := m.db.Exec(sql, password, userId) if err != nil { return utils.LogError("更新新密码出错", err) } return nil } // GetUserByID 获取用户信息 func (m *UserDAO) GetUserByID(userId string) (*model.SysUser, error) { var user model.SysUser _, err := m.db.Where("user_id=?", userId).Get(&user) if err != nil { return nil, utils.LogError("获取人员信息失败", err) } return &user, nil }