package Api import ( "encoding/json" "github.com/aarongao/tools" "github.com/asaskevich/govalidator" "github.com/gin-gonic/gin" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "letu/DB" "letu/Lib/Auth" "strconv" ) // @Title 查询系统广告 // @Description 查询系统广告-单条 // @Accept json // @Produce json // @Param id 5dfb03070a9ac17ac7a82054 string true "id" // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":{"Id":"5e858c09b1d67b2d117e2e58","Site":"景区选择页","Size":{"Width":100,"Height":100},"Type":"轮播","Picture":[{"Src":"/Upload/1585820891339307000.png","Link":"222"}],"Video":[]}}" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /SysAds/Info? [get] func SysAdsInfo(c *gin.Context) { c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) c.Header("Access-Control-Allow-Credentials", "true") var aSysAds *DB.SSysAds objId, _ := primitive.ObjectIDFromHex(c.Query("id")) DB.CSysAds.FindOne(tools.GetContext(), bson.M{"_id": objId}).Decode(&aSysAds) c.JSON(200, tools.ResponseSeccess{ 0, aSysAds, }) } // @Title 查询系统广告 // @Description 查询系统广告-列表 // @Accept json // @Produce json // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":[{"Id":"5e858c09b1d67b2d117e2e58","Site":"景区选择页","Size":{"Width":100,"Height":100},"Type":"轮播","Picture":[{"Src":"/Upload/1585820891339307000.png","Link":"222"}],"Video":[]}]}" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /SysAds/List? [get] func SysAdsList(c *gin.Context) { c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) c.Header("Access-Control-Allow-Credentials", "true") var aSysAds []*DB.SSysAds cur, err := DB.CSysAds.Find(tools.GetContext(), bson.M{}) // defer cur.Close(tools.GetContext()) if err == nil { for cur.Next(tools.GetContext()) { var e *DB.SSysAds cur.Decode(&e) aSysAds = append(aSysAds, e) } } if aSysAds == nil { aSysAds = []*DB.SSysAds{} } c.JSON(200, tools.ResponseSeccess{ 0, aSysAds, }) } // @Title 修改平台广告 // @Description 修改平台广告 // @Accept json // @Produce json // @Param id 5dfb03070a9ac17ac7a82054 string true "平台广告id" // @Param Site Height string true "位置" // @Param Height 100 string true "尺寸" // @Param Width 100 string true "尺寸" // @Param Type 单视频 string true "类型(轮播|单图|单视频)" // @Param Picture [{"Src":"/Upload/1585820891339307000.png","Link":"222"}] string true "图片" // @Param Video [{"Src":"../plugins/images/defaultpic.png","Link":"22","Title":"22","VideoPicture":"/Upload/1585821569540095000.png"}] string true "视频" // @Param Token wgergejfwe string true "用户token" // @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}" // @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}" // @Router /SysAds/Modify? [post] func ModifySysAds(c *gin.Context) { c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin")) c.Header("Access-Control-Allow-Credentials", "true") _user, _ := c.Get("UserInfo") user := _user.(*DB.SMember) err := Auth.CheckScenicAuth(c.PostForm("ScenicId"), user) if err != nil { c.JSON(200, tools.ResponseError{ 401, "没有权限", }) return } objectID, _ := primitive.ObjectIDFromHex(c.PostForm("id")) width, _ := strconv.ParseInt(c.PostForm("Width"), 0, 64) height, _ := strconv.ParseInt(c.PostForm("Height"), 0, 64) var aPictures []DB.SPicture json.Unmarshal([]byte(c.PostForm("Picture")), &aPictures) var aVideo []DB.SVideo json.Unmarshal([]byte(c.PostForm("Video")), &aVideo) SysAds := &DB.SSysAds{ &objectID, c.PostForm("Site"), DB.SSize{width, height}, c.PostForm("Type"), aPictures, aVideo, } _, err = govalidator.ValidateStruct(SysAds); if err != nil { c.JSON(200, tools.ResponseError{ 1, err.Error(), }) return } _, err = DB.CSysAds.UpdateOne(tools.GetContext(), bson.M{"_id": objectID}, bson.M{"$set": SysAds}, ) c.JSON(200, tools.ResponseSeccess{ 0, "ok", }) }