1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package controllers
- import (
- "sparrow/pkg/models"
- "sparrow/services/knowoapi/model"
- "sparrow/services/knowoapi/services"
- "github.com/kataras/iris"
- )
- // UserController api
- type UserController struct {
- Ctx iris.Context
- Service services.UserService
- Token Token
- }
- // PostLogin /login
- func (a *UserController) PostLogin() {
- lr := models.LoginRequest{}
- if err := parseBody(a.Ctx, &lr); err != nil {
- badRequest(a.Ctx, err)
- return
- }
- b, user, err := a.Service.Login(&lr)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, "用户名或密码错误")
- return
- }
- if !b {
- responseError(a.Ctx, model.ErrUserNameOrPassCode, "用户名或密码错误")
- return
- }
- result := map[string]interface{}{
- "user_id": user.ID,
- "company": user.Vendor.VendorName,
- "access_token": a.Token.tokenMaker(user),
- "user_role": user.UserRoleID,
- }
- done(a.Ctx, result)
- }
- // PostRegistry 注册
- //POST /registry
- func (a *UserController) PostRegistry() {
- req := &models.Reqrequest{}
- if err := parseBody(a.Ctx, req); err != nil {
- badRequest(a.Ctx, err)
- return
- }
- b, err := a.Service.CheckEmail(req.Email)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- if b {
- responseError(a.Ctx, -1, "Email已经被注册")
- return
- }
- b, err = a.Service.CheckPhone(req.Phone)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- if b {
- responseError(a.Ctx, -1, "手机号被注册")
- return
- }
- b, err = a.Service.CheckUserName(req.UserName)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- if b {
- responseError(a.Ctx, -1, "该用户名已经被使用")
- return
- }
- user, err := a.Service.Register(req)
- if err != nil {
- responseError(a.Ctx, ErrDatabase, err.Error())
- return
- }
- done(a.Ctx, map[string]interface{}{
- "user_name": user.UserName,
- "user_key": user.UserKey,
- "vendor_id": user.VendorID,
- "user_id": user.ID,
- })
- }
|