123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- package handler
- import (
- "errors"
- "gogs.baozhida.cn/zoie/OAuth-core/sdk"
- "gorm.io/gorm"
- log "gogs.baozhida.cn/zoie/OAuth-core/logger"
- "gogs.baozhida.cn/zoie/OAuth-core/pkg"
- )
- type Login struct {
- Username string `form:"UserName" json:"username"` // 用户名
- Password string `form:"Password" json:"password"` // 密码
- Phone string `form:"Phone" json:"phone"` // 手机号
- VerifyCode string `form:"VerifyCode" json:"verifyCode"` // 验证码
- Type int `form:"Type" json:"type"` // 1-密码 2-钢瓶规格
- Mobile bool `form:"Mobile" json:"mobile"` // 是否手机登录
- }
- //Code string `form:"Code" json:"code" binding:"required"`
- //UUID string `form:"UUID" json:"uuid" binding:"required"`
- type SmsLogin struct {
- }
- func (u *Login) GetUser(tx *gorm.DB) (user SysUser, role SysRole, dept SysDept, err error) {
- err = tx.Table("sys_user").Where("username = ? and status = 2", u.Username).First(&user).Error
- if err != nil {
- log.Errorf("get user error, %s", err.Error())
- return
- }
- _, err = pkg.CompareHashAndPassword(user.Password, u.Password)
- if err != nil {
- log.Errorf("user login error, %s", err.Error())
- return
- }
- err = tx.Table("sys_role").Where("id = ? ", user.RoleId).First(&role).Error
- if err != nil {
- log.Errorf("get role error, %s", err.Error())
- return
- }
- if user.DeptId > 0 {
- err = tx.Table("sys_dept").Where("id = ? ", user.DeptId).First(&dept).Error
- if err != nil {
- log.Errorf("get dept error, %s", err.Error())
- return
- }
- }
- return
- }
- func (u *Login) GetUserByCode(tx *gorm.DB) (user SysUser, role SysRole, dept SysDept, err error) {
- err = tx.Table("sys_user").Where("phone = ? and status = 2", u.Phone).First(&user).Error
- if err != nil {
- log.Errorf("get user error, %s", err.Error())
- return
- }
- code, err := sdk.Runtime.GetCacheAdapter().Get(GetVerifyCodeCacheKey(u.Phone))
- if err != nil {
- log.Errorf("user login error, %s", err.Error())
- err = errors.New("验证码已过期")
- return
- }
- if code != u.VerifyCode {
- log.Errorf("user login error, %s", "验证码错误")
- err = errors.New("验证码错误")
- return
- }
- err = tx.Table("sys_role").Where("id = ? ", user.RoleId).First(&role).Error
- if err != nil {
- log.Errorf("get role error, %s", err.Error())
- return
- }
- if user.DeptId > 0 {
- err = tx.Table("sys_dept").Where("id = ? ", user.DeptId).First(&dept).Error
- if err != nil {
- log.Errorf("get dept error, %s", err.Error())
- return
- }
- }
- return
- }
- func GetUserByID(tx *gorm.DB, id int64) (user SysUser, role SysRole, err error) {
- err = tx.Table("sys_user").Where("id = ? ", id).First(&user).Error
- if err != nil {
- log.Errorf("get user error, %s", err.Error())
- return
- }
- err = tx.Table("sys_role").Where("id = ? ", user.RoleId).First(&role).Error
- if err != nil {
- log.Errorf("get role error, %s", err.Error())
- return
- }
- return
- }
|