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 17 // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}"
18 18 // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
19 19 // @Router /Investigation/Save? [post]
20   -func Save(c *gin.Context) {
  20 +func SaveInvestigation(c *gin.Context) {
21 21 c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
22 22 c.Header("Access-Control-Allow-Credentials", "true")
23 23  
... ...
API/Trajectory.go 0 → 100644
... ... @@ -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 19 var CLine *mgo.Collection //推荐线路
20 20 var CAccessLog *mgo.Collection //访问记录
21 21 var CActionLog *mgo.Collection //行为记录
  22 +var CTrajectory *mgo.Collection //移动轨迹
22 23 var DB *mgo.Database
23 24  
24   -
25 25 type SItem struct {
26 26 Id *bson.ObjectId `bson:"_id" json:"Id" valid:"required"`
27 27 Name string `bson:"Name" json:"Name"`
... ... @@ -39,6 +39,11 @@ type SItem struct {
39 39 Menu string `bson:"Menu" json:"Menu"` //菜单
40 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 47 type SLocation struct {
43 48 Latitude float64 `bson:"Latitude" json:"Latitude"` //纬度
44 49 Longitude float64 `bson:"Longitude" json:"Longitude"` //经度
... ...
README.md
... ... @@ -24,6 +24,7 @@
24 24 1. [返回景区基础信息](#scenicinfo-get)
25 25 1. [发送短信验证码](#sms-send-post)
26 26 1. [标签列表](#tags-get)
  27 +1. [保存用户移动轨迹](#trajectory-save-post)
27 28 1. [更新商品](#updatecommodity-post)
28 29 1. [更新设施](#updateitem-post)
29 30 1. [更新等待时间](#updateitemtime-post)
... ... @@ -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 354 <a name="updatecommodity-post"></a>
334 355  
335 356 #### /UpdateCommodity (POST)
... ...
main.go
... ... @@ -59,6 +59,7 @@ func main() {
59 59 DB.CAccessLog = DB.DB.C("AccessLog")
60 60 DB.CActionLog = DB.DB.C("ActionLog")
61 61 DB.CInvestigation = DB.DB.C("Investigation")
  62 + DB.CTrajectory = DB.DB.C("Trajectory")
62 63 DelayMessage.CDelayMessage = DB.DB.C("DelayMessage")
63 64 DelayMessage.CDelayErrorLog = DB.DB.C("DelayErrorLog")
64 65  
... ... @@ -88,7 +89,8 @@ func main() {
88 89 r.POST("/AccessLog", Api.AccessLog)
89 90 r.GET("/AccessLog", Api.AccessLog)
90 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 94 r.POST("/DealyMessage/Create", Api.CreateDealyMessage)
93 95 r.GET("/DealyMessage/Info", Api.DealyMessageInfo)
94 96 //r.GET("/ws", Api.WsPage)
... ...