1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package business
- import (
- "time"
- "github.com/jinzhu/gorm"
- "github.com/spf13/viper"
- "shopperthree_manage_v2/app/models"
- "shopperthree_manage_v2/pkg/ierr"
- "shopperthree_manage_v2/pkg/jwt"
- "shopperthree_manage_v2/pkg/util"
- )
- func Login(req *models.LoginRequest) (*models.LoginReply, error) {
- if req.Phone == "" || req.Password == "" {
- return nil, ierr.NewIError(ierr.ParamErr, "missing key param")
- }
- tAdmin := new(models.TAdmin)
- tAdmin.Phone = req.Phone
- admin, err := tAdmin.ShowByPhone()
- if err != nil {
- if gorm.IsRecordNotFoundError(err) {
- return nil, ierr.NewIError(ierr.PhoneNotExists, "phone not exists")
- }
- return nil, ierr.NewIError(ierr.QueryDataFail, err.Error())
- }
- if admin.Password != util.Sha256(req.Password) {
- return nil, ierr.NewIError(ierr.PasswordErr, "password error")
- }
- //密码正确生成token
- token, err := jwt.GenerateToken(&jwt.Playload{
- UserId: admin.UserId,
- Phone: admin.Phone,
- Expire: time.Now().Unix() + 86400*10,
- Role: admin.Role,
- }, viper.GetString("token_secret"))
- if err != nil {
- return nil, ierr.NewIError(ierr.GenerateTokenFailed, err.Error())
- }
- return &models.LoginReply{
- UserId: admin.UserId,
- Phone: admin.Phone,
- Token: token,
- Role: admin.Role,
- }, nil
- }
|