| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "car-service/extend/code" |
| | | "car-service/models" |
| | | "encoding/json" |
| | | |
| | | "car-service/service" |
| | | "github.com/astaxie/beego" |
| | | "net/http" |
| | | ) |
| | | |
| | | // Operations about Users |
| | |
| | | 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 |
| | |
| | | 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() |
| | | } |
| | |
| | | // @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() |
| | | } |
| | | |
| | |
| | | // @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") |
| | | var sv service.UserService |
| | | b, info, e := sv.Login(phoneNum, cod) |
| | | resp := code.Code{} |
| | | if b { |
| | | resp.Success= true |
| | | resp.Status= http.StatusOK |
| | | resp.Data= *info |
| | | } else { |
| | | u.Data["json"] = "user not exist" |
| | | resp.Success= false |
| | | resp.Status= http.StatusBadRequest |
| | | resp.Data= e.Error() |
| | | } |
| | | u.Data["json"] = resp |
| | | u.ServeJSON() |
| | | } |
| | | |
| | |
| | | // @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() |
| | | } |
| | | |