From 9b5710f23d6cbda9f2b0e650cf8916e7707d5588 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 29 六月 2020 19:27:14 +0800 Subject: [PATCH] addPlateNo and findMyPlateNos --- controllers/user.go | 29 +++++++++++++++++++++++++++++ routers/router.go | 2 ++ models/userCar.go | 4 ++-- service/userService.go | 13 +++++++++++++ models/user.go | 2 +- 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/controllers/user.go b/controllers/user.go index 9cf24da..1947e7c 100644 --- a/controllers/user.go +++ b/controllers/user.go @@ -113,7 +113,36 @@ 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") + var uc models.UserCar + all, err := uc.GetByUserId(userId) + var nos = make([]string, 0) + if err == nil && all != nil { + for _,p := range all { + nos = append(nos, p.PlateNo) + } + } + resp := code.Code{ + Success: true, + Status: http.StatusOK, + Data: nos, } u.Data["json"] = resp u.ServeJSON() diff --git a/models/user.go b/models/user.go index 3d15d2d..46ee619 100644 --- a/models/user.go +++ b/models/user.go @@ -36,7 +36,7 @@ func (u *User) SelectById(uid string) error { o := orm.NewOrm() - err := o.Raw("select * from ? where id=?", u.TableName(), uid).QueryRow(u) + err := o.QueryTable(u.TableName()).Filter("id", uid).One(u) return err } diff --git a/models/userCar.go b/models/userCar.go index 24eb587..881e48c 100644 --- a/models/userCar.go +++ b/models/userCar.go @@ -29,8 +29,8 @@ func (uc *UserCar) Exist(userId string, plateNo string) bool { var list []UserCar o := orm.NewOrm() - i,_ := o.Raw("select * from ? where userId=? and plateNo=?", uc.TableName(), userId, plateNo).QueryRows(&list) - if i > 0 && len(list) >0 { + o.Raw("select * from ? where userId=? and plateNo=?", uc.TableName(), userId, plateNo).QueryRows(&list) + if len(list) >0 { return true } return false diff --git a/routers/router.go b/routers/router.go index e2e6f18..b25ea35 100644 --- a/routers/router.go +++ b/routers/router.go @@ -47,4 +47,6 @@ beego.Router(preApi+"/code/new", &controllers.CodeController{}, "*:New") beego.Router(preApi+"/user/login", &controllers.UserController{}, "*:Login") beego.Router(preApi+"/user/logout", &controllers.UserController{}, "*:Logout") + beego.Router(preApi+"/user/addPlateNo", &controllers.UserController{}, "*:AddPlateNo") + beego.Router(preApi+"/user/myPlateNos", &controllers.UserController{}, "*:MyPlateNos") } diff --git a/service/userService.go b/service/userService.go index 1fe7435..15ed042 100644 --- a/service/userService.go +++ b/service/userService.go @@ -58,6 +58,19 @@ } func (sv *UserService) AddPlateNo(userId, plateNo string) bool { + var uc models.UserCar + if uc.Exist(userId, plateNo) { + return true + } + tmp := models.UserCar{ + Id: uuid.NewV4().String(), + UserId: userId, + PlateNo: plateNo, + } + _, err := tmp.Insert() + if err == nil { + return true + } return false } -- Gitblit v1.8.0