package Api import ( "encoding/json" "github.com/aarongao/tools" "github.com/gin-gonic/gin" "gopkg.in/mgo.v2/bson" "letu/DB" ) // @Title 查询线路信息 // @Description 查询线路信息 // @Accept json // @Produce json // @Param id 5dfb03070a9ac17ac7a82054 string true "id" // @Success 200 {object} tools.ResponseSeccess "Name名称;SubName副标题;PlayDuration游玩时长;Suitable适合人群;Location线路点坐标;Annotations需要点亮的设施id" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /LineInfo? [get] func LineInfo(c *gin.Context) { c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) c.Header("Access-Control-Allow-Credentials", "true") if c.Query("id") == "" { c.JSON(200, tools.ResponseError{ 1, "空", }) return } var SLine *DB.SLine DB.CLine.Find(bson.M{"_id": bson.ObjectIdHex(c.Query("id"))}).One(&SLine) if SLine == nil { c.JSON(200, tools.ResponseError{ 1, "空", }) } else { c.JSON(200, tools.ResponseSeccess{ 0, SLine, }) } } // @Title 查询所有线路 // @Description 查询所有线路 // @Accept json // @Produce json // @Success 200 {object} tools.ResponseSeccess "Name名称;SubName副标题;PlayDuration游玩时长;Suitable适合人群;Location线路点坐标;Annotations需要点亮的设施id" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /AllLine? [get] func AllLine(c *gin.Context) { c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) c.Header("Access-Control-Allow-Credentials", "true") var aLine []DB.SLine DB.CLine.Find(bson.M{}).All(&aLine) c.JSON(200, aLine) } // @Title 更新线路 // @Description 更新线路 // @Accept json // @Produce json // @Success 200 {object} tools.ResponseSeccess "" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /UpdateLine? [post] func UpdateLine(c *gin.Context) { c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) c.Header("Access-Control-Allow-Credentials", "true") var Location []DB.SLocation json.Unmarshal([]byte(c.PostForm("Location")), &Location) var Annotations []string json.Unmarshal([]byte(c.PostForm("Annotations")), &Annotations) var id bson.ObjectId if pid := c.PostForm("id"); pid == "null" { id = bson.NewObjectId() } else { id = bson.ObjectIdHex(pid) } DB.CLine.UpsertId( id, bson.M{"$set": bson.M{ "Name": c.PostForm("Name"), "SubName": c.PostForm("SubName"), "PlayDuration": c.PostForm("PlayDuration"), "Suitable": c.PostForm("Suitable"), "Content": c.PostForm("Content"), "Annotations": Annotations, "Location": Location, }}, ) c.JSON(200, tools.ResponseSeccess{ 0, "ok", }) }