| | |
| | | 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 |
| | |
| | | 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") |
| | | 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() |
| | | } |
| | | |
| | |
| | | // @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() |
| | | } |
| | | |
| | | |
| | | |