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) |