Commit d6a714e9b1f02854fbc75694b91453fc30067906
1 parent
e5fd5aea
Exists in
v1.2
and in
2 other branches
增加移动轨迹接口
Showing
5 changed files
with
68 additions
and
3 deletions
Show diff stats
API/Investigation.go
| @@ -17,7 +17,7 @@ import ( | @@ -17,7 +17,7 @@ import ( | ||
| 17 | // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" | 17 | // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" |
| 18 | // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" | 18 | // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" |
| 19 | // @Router /Investigation/Save? [post] | 19 | // @Router /Investigation/Save? [post] |
| 20 | -func Save(c *gin.Context) { | 20 | +func SaveInvestigation(c *gin.Context) { |
| 21 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) | 21 | c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) |
| 22 | c.Header("Access-Control-Allow-Credentials", "true") | 22 | c.Header("Access-Control-Allow-Credentials", "true") |
| 23 | 23 |
| @@ -0,0 +1,37 @@ | @@ -0,0 +1,37 @@ | ||
| 1 | +package Api | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "encoding/json" | ||
| 5 | + "github.com/aarongao/tools" | ||
| 6 | + "github.com/gin-gonic/gin" | ||
| 7 | + "letu/DB" | ||
| 8 | + "time" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +// @Title 保存用户移动轨迹 | ||
| 12 | +// @Description 保存用户移动轨迹 | ||
| 13 | +// @Accept json | ||
| 14 | +// @Produce json | ||
| 15 | +// @Param UserId 5dfb03070a9ac17ac7a82054 string true "用户id" | ||
| 16 | +// @Param Location {"Latitude": 119, "Longitude": 39} string true "经纬度" | ||
| 17 | +// @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" | ||
| 18 | +// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" | ||
| 19 | +// @Router /Trajectory/Save? [post] | ||
| 20 | +func SaveTrajectory(c *gin.Context) { | ||
| 21 | + c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) | ||
| 22 | + c.Header("Access-Control-Allow-Credentials", "true") | ||
| 23 | + | ||
| 24 | + var Location DB.SLocation | ||
| 25 | + json.Unmarshal([]byte(c.PostForm("Location")), &Location) | ||
| 26 | + | ||
| 27 | + DB.CTrajectory.Insert(DB.STrajectory{ | ||
| 28 | + c.PostForm("UserId"), | ||
| 29 | + Location, | ||
| 30 | + time.Now().Unix(), | ||
| 31 | + }) | ||
| 32 | + | ||
| 33 | + c.JSON(200, tools.ResponseSeccess{ | ||
| 34 | + 0, | ||
| 35 | + "ok", | ||
| 36 | + }) | ||
| 37 | +} |
DB/db.go
| @@ -19,9 +19,9 @@ var CScenic *mgo.Collection //景区 | @@ -19,9 +19,9 @@ var CScenic *mgo.Collection //景区 | ||
| 19 | var CLine *mgo.Collection //推荐线路 | 19 | var CLine *mgo.Collection //推荐线路 |
| 20 | var CAccessLog *mgo.Collection //访问记录 | 20 | var CAccessLog *mgo.Collection //访问记录 |
| 21 | var CActionLog *mgo.Collection //行为记录 | 21 | var CActionLog *mgo.Collection //行为记录 |
| 22 | +var CTrajectory *mgo.Collection //移动轨迹 | ||
| 22 | var DB *mgo.Database | 23 | var DB *mgo.Database |
| 23 | 24 | ||
| 24 | - | ||
| 25 | type SItem struct { | 25 | type SItem struct { |
| 26 | Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"` | 26 | Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"` |
| 27 | Name string `bson:"Name" json:"Name"` | 27 | Name string `bson:"Name" json:"Name"` |
| @@ -39,6 +39,11 @@ type SItem struct { | @@ -39,6 +39,11 @@ type SItem struct { | ||
| 39 | Menu string `bson:"Menu" json:"Menu"` //菜单 | 39 | Menu string `bson:"Menu" json:"Menu"` //菜单 |
| 40 | Time string `bson:"Time" json:"Time"` | 40 | Time string `bson:"Time" json:"Time"` |
| 41 | } | 41 | } |
| 42 | +type STrajectory struct { | ||
| 43 | + UserId string `bson:"UserId" json:"UserId"` // 用户ID | ||
| 44 | + Location SLocation `bson:"Location" json:"Location"` | ||
| 45 | + Time int64 `bson:"Time" json:"Time"` | ||
| 46 | +} | ||
| 42 | type SLocation struct { | 47 | type SLocation struct { |
| 43 | Latitude float64 `bson:"Latitude" json:"Latitude"` //纬度 | 48 | Latitude float64 `bson:"Latitude" json:"Latitude"` //纬度 |
| 44 | Longitude float64 `bson:"Longitude" json:"Longitude"` //经度 | 49 | Longitude float64 `bson:"Longitude" json:"Longitude"` //经度 |
README.md
| @@ -24,6 +24,7 @@ | @@ -24,6 +24,7 @@ | ||
| 24 | 1. [返回景区基础信息](#scenicinfo-get) | 24 | 1. [返回景区基础信息](#scenicinfo-get) |
| 25 | 1. [发送短信验证码](#sms-send-post) | 25 | 1. [发送短信验证码](#sms-send-post) |
| 26 | 1. [标签列表](#tags-get) | 26 | 1. [标签列表](#tags-get) |
| 27 | +1. [保存用户移动轨迹](#trajectory-save-post) | ||
| 27 | 1. [更新商品](#updatecommodity-post) | 28 | 1. [更新商品](#updatecommodity-post) |
| 28 | 1. [更新设施](#updateitem-post) | 29 | 1. [更新设施](#updateitem-post) |
| 29 | 1. [更新等待时间](#updateitemtime-post) | 30 | 1. [更新等待时间](#updateitemtime-post) |
| @@ -330,6 +331,26 @@ | @@ -330,6 +331,26 @@ | ||
| 330 | 331 | ||
| 331 | 332 | ||
| 332 | 333 | ||
| 334 | +<a name="trajectory-save-post"></a> | ||
| 335 | + | ||
| 336 | +#### /Trajectory/Save (POST) | ||
| 337 | + | ||
| 338 | + | ||
| 339 | +保存用户移动轨迹 | ||
| 340 | + | ||
| 341 | +| Param Name | Example | Data Type | Description | Required? | | ||
| 342 | +|-----|-----|-----|-----|-----| | ||
| 343 | +| UserId | 5dfb03070a9ac17ac7a82054 | string | 用户id | Yes | | ||
| 344 | +| Location | {"Latitude": 119, "Longitude": 39} | string | 经纬度 | Yes | | ||
| 345 | + | ||
| 346 | + | ||
| 347 | +| Code | Type | Model | Message | | ||
| 348 | +|-----|-----|-----|-----| | ||
| 349 | +| 200 | object | [ResponseSeccess](#github.com.aarongao.tools.ResponseSeccess) | {"errcode":0,"result":"ok"} | | ||
| 350 | +| 500 | object | [ResponseError](#github.com.aarongao.tools.ResponseError) | {"errcode":1,"errmsg":"错误原因"} | | ||
| 351 | + | ||
| 352 | + | ||
| 353 | + | ||
| 333 | <a name="updatecommodity-post"></a> | 354 | <a name="updatecommodity-post"></a> |
| 334 | 355 | ||
| 335 | #### /UpdateCommodity (POST) | 356 | #### /UpdateCommodity (POST) |
main.go
| @@ -59,6 +59,7 @@ func main() { | @@ -59,6 +59,7 @@ func main() { | ||
| 59 | DB.CAccessLog = DB.DB.C("AccessLog") | 59 | DB.CAccessLog = DB.DB.C("AccessLog") |
| 60 | DB.CActionLog = DB.DB.C("ActionLog") | 60 | DB.CActionLog = DB.DB.C("ActionLog") |
| 61 | DB.CInvestigation = DB.DB.C("Investigation") | 61 | DB.CInvestigation = DB.DB.C("Investigation") |
| 62 | + DB.CTrajectory = DB.DB.C("Trajectory") | ||
| 62 | DelayMessage.CDelayMessage = DB.DB.C("DelayMessage") | 63 | DelayMessage.CDelayMessage = DB.DB.C("DelayMessage") |
| 63 | DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog") | 64 | DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog") |
| 64 | 65 | ||
| @@ -88,7 +89,8 @@ func main() { | @@ -88,7 +89,8 @@ func main() { | ||
| 88 | r.POST("/AccessLog", Api.AccessLog) | 89 | r.POST("/AccessLog", Api.AccessLog) |
| 89 | r.GET("/AccessLog", Api.AccessLog) | 90 | r.GET("/AccessLog", Api.AccessLog) |
| 90 | r.POST("/Sms/Send", Api.Send) | 91 | r.POST("/Sms/Send", Api.Send) |
| 91 | - r.POST("/Investigation/Save", Api.Save) | 92 | + r.POST("/Investigation/Save", Api.SaveInvestigation) |
| 93 | + r.POST("/Trajectory/Save", Api.SaveTrajectory) | ||
| 92 | r.POST("/DealyMessage/Create", Api.CreateDealyMessage) | 94 | r.POST("/DealyMessage/Create", Api.CreateDealyMessage) |
| 93 | r.GET("/DealyMessage/Info", Api.DealyMessageInfo) | 95 | r.GET("/DealyMessage/Info", Api.DealyMessageInfo) |
| 94 | //r.GET("/ws", Api.WsPage) | 96 | //r.GET("/ws", Api.WsPage) |