liuxiaolong
2020-08-06 dbc843d0b37f786fb816131bcc7ebca86dbe72e9
controllers/user.go
@@ -1,10 +1,14 @@
package controllers
import (
   "car-service/extend/code"
   "car-service/models"
   "car-service/service"
   "car-service/vo"
   "encoding/json"
   "fmt"
   "github.com/astaxie/beego"
   "net/http"
)
// Operations about Users
@@ -12,48 +16,6 @@
   beego.Controller
}
// @Title CreateUser
// @Description create users
// @Param   body      body    models.User   true      "body for user content"
// @Success 200 {int} models.User.Id
// @Failure 403 {string} json "body is empty"
// @router / [post]
func (u *UserController) Post() {
   var user models.User
   json.Unmarshal(u.Ctx.Input.RequestBody, &user)
   uid := models.AddUser(user)
   u.Data["json"] = map[string]string{"uid": uid}
   u.ServeJSON()
}
// @Title GetAll
// @Description get all Users
// @Success 200 {object} models.User
// @router / [get]
func (u *UserController) GetAll() {
   users := models.GetAllUsers()
   u.Data["json"] = users
   u.ServeJSON()
}
// @Title Get
// @Description get user by uid
// @Param   uid      path    string   true      "The key for staticblock"
// @Success 200 {object} models.User
// @Failure 403 {string} json ":uid is empty"
// @router /:uid [get]
func (u *UserController) Get() {
   uid := u.GetString(":uid")
   if uid != "" {
      user, err := models.GetUser(uid)
      if err != nil {
         u.Data["json"] = err.Error()
      } else {
         u.Data["json"] = user
      }
   }
   u.ServeJSON()
}
// @Title Update
// @Description update the user
@@ -66,13 +28,8 @@
   uid := u.GetString(":uid")
   if uid != "" {
      var user models.User
      json.Unmarshal(u.Ctx.Input.RequestBody, &user)
      uu, err := models.UpdateUser(uid, &user)
      if err != nil {
         u.Data["json"] = err.Error()
      } else {
         u.Data["json"] = uu
      }
      u.Data["json"] = user
   }
   u.ServeJSON()
}
@@ -85,8 +42,14 @@
// @router /:uid [delete]
func (u *UserController) Delete() {
   uid := u.GetString(":uid")
   models.DeleteUser(uid)
   u.Data["json"] = "delete success!"
   var user = models.User{
      Id: uid,
   }
   i, err := user.DeleteById()
   if err ==nil && i >0 {
      u.Data["json"] = "delete success!"
   }
   u.ServeJSON()
}
@@ -98,13 +61,30 @@
// @Failure 403 {string} json  "user not exist"
// @router /login [get]
func (u *UserController) Login() {
   username := u.GetString("username")
   password := u.GetString("password")
   if models.Login(username, password) {
      u.Data["json"] = "login success"
   phoneNum := u.GetString("phoneNum")
   cod := u.GetString("code")
   resp := code.Code{}
   fmt.Println("phoneNum:", phoneNum, "code:", cod)
   if phoneNum == "" || cod == "" {
      resp.Success= false
      resp.Status= http.StatusBadRequest
      resp.Data= "参数有误"
   } else {
      u.Data["json"] = "user not exist"
      var sv service.UserService
      b, info, e := sv.Login(phoneNum, cod)
      if b {
         resp.Success= true
         resp.Status= http.StatusOK
         resp.Data= *info
      } else {
         resp.Success= false
         resp.Status= http.StatusBadRequest
         resp.Data= e.Error()
      }
   }
   u.Data["json"] = resp
   u.ServeJSON()
}
@@ -113,7 +93,96 @@
// @Success 200 {string} logout success
// @router /logout [get]
func (u *UserController) Logout() {
   u.Data["json"] = "logout success"
   resp := code.Code{}
   resp.Success = true
   resp.Status = http.StatusOK
   resp.Data = "退出成功"
   u.Data["json"] = resp
   u.ServeJSON()
}
// @Param reqBody body vo.AddPlateNoVo true "绑定车牌号参数"
// @router /addPlateNo [post]
func (u *UserController) AddPlateNo() {
   var reqBody vo.AddPlateNoVo
   body := u.Ctx.Input.RequestBody
   err := json.Unmarshal(body, &reqBody)
   resp := code.Code{}
   if err != nil {
      resp.Success = false
      resp.Status = http.StatusBadRequest
      resp.Data = "参数有误"
   } else {
      var sv service.UserService
      if sv.AddPlateNo(reqBody.UserId, reqBody.PlateNo) {
         resp.Success = true
         resp.Status = http.StatusOK
         resp.Data = "添加成功"
      } else {
         resp.Success = false
         resp.Status = http.StatusBadRequest
         resp.Data = "添加失败"
      }
   }
   u.Data["json"] = resp
   u.ServeJSON()
}
// @router /myPlateNos [get]
func (u *UserController) MyPlateNos() {
   userId := u.GetString("userId")
   fmt.Println("MyPlateNos userId", userId)
   sv :=  service.NewCarService()
   vehicleList := sv.GetVehicleListByPerson(userId)
   var nos = make([]string, 0)
   if vehicleList != nil {
      for _,p := range vehicleList {
         nos = append(nos, p.PlateNo)
      }
   }
   resp := code.Code{
      Success: true,
      Status: http.StatusOK,
      Data: nos,
   }
   u.Data["json"] = resp
   u.ServeJSON()
}
// @router /delPlateNo [delete]
func (u *UserController) DelPlateNo() {
   userId := u.GetString("userId")
   plateNo := u.GetString("plateNo")
   resp := code.Code{}
   var uc models.UserCar
   i,e := uc.Delete(userId, plateNo)
   fmt.Println("delPlateNo i:",i, "e:", e)
   if e ==nil && i >0 {
      resp.Success = true
      resp.Status = http.StatusOK
      resp.Data = "删除成功"
   } else {
      resp.Success = false
      resp.Status = http.StatusInternalServerError
      resp.Data = "删除失败"
   }
   u.Data["json"] = resp
   u.ServeJSON()
}
// @router /all [get]
func (u *UserController) GetUserAll() {
   resp := code.Code{}
   sv := service.NewCarService()
   personAll := sv.GetHikPersonList()
   if personAll != nil {
      resp.Success = true
      resp.Status = http.StatusOK
      resp.Data = personAll
   }
   u.Data["json"] = resp
   u.ServeJSON()
}