12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package user
-
- import (
- "net/http"
- "strings"
- "wechat-conf/models/model"
- "wechat-conf/models/user"
- "wechat-conf/utils"
-
- "github.com/yl10/kit/encrypt"
- )
-
- // UserServ 用户
- type UserServ struct {
- ctx *utils.Context
- dao *user.UserDAO
- }
-
- // NewUserServ 初始化
- func NewUserServ(ctx *utils.Context) *UserServ {
- return &UserServ{
- ctx: ctx,
- dao: user.NewUserDAO(ctx),
- }
- }
-
- // CheckUserRoute 判断用户理由
- func (s *UserServ) CheckUserRoute(userId, route, method string) (int, error) {
-
- if strings.Index(route, "admin") < 0 {
- return http.StatusOK, nil
- }
-
- // 如果没有登录
- if userId == "" {
- return http.StatusUnauthorized, utils.LogError("请先登录系统")
- }
-
- return http.StatusOK, nil
- }
-
- // ValidUserNameLogin 验证登陆
- func (s *UserServ) ValidUserNameLogin(userName, pass string) (*model.SysUser, error) {
- user, err := s.dao.GetUserByUserName(userName)
- if err != nil {
- return nil, err
- }
-
- if !s.ValidatePassword(&user, pass) {
- return nil, utils.LogError("用户密码不正确")
- }
-
- return &user, nil
- }
-
- // UpdatePassword 更新用户密码
- func (s *UserServ) UpdatePassword(userID, newPass string) error {
- return s.dao.UpdatePassword(userID, newPass)
- }
-
- // ValidatePassword 验证密码是否正确
- func (s *UserServ) ValidatePassword(user *model.SysUser, password string) bool {
- return user.Pwd == encrypt.Md5(password, user.UserId)
- }
-
- // GetUserByID 根据ID获取用户信息
- func (s *UserServ) GetUserByID(userid string) (*model.SysUser, error) {
- user, err := s.dao.GetUserByID(userid)
- if err != nil {
- return nil, err
- }
- return user, nil
- }
|