Commit d6a714e9b1f02854fbc75694b91453fc30067906

Authored by aarongao
1 parent e5fd5aea
Exists in v1.2 and in 2 other branches master, v1.1

增加移动轨迹接口

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
API/Trajectory.go 0 → 100644
@@ -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 +}
@@ -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"` //经度
@@ -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)
@@ -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)