DealyMessage.go 4.08 KB
package Api

import (
	"github.com/aarongao/tools"
	"github.com/gin-gonic/gin"
	"gopkg.in/mgo.v2/bson"
	"letu/Lib/DelayMessage"
	"letu/Lib/Token"
)

// @Title 查询用户的定时提醒
// @Description 查询用户的定时提醒
// @Accept  json
// @Produce  json
// @Param   UserId     5dfb03070a9ac17ac7a82054    string     true        "用户id"
// @Param   Token     wgergejfwe    string     true        "用户token"
// @Success 200 {object} tools.ResponseSeccess "DelayTime=执行时间;Type=类型(0请求url地址1发送app通知);Fail失败次数;Title=通知标题;Content=通知内容;UDID=设备id"
// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
// @Router /DealyMessage/Info? [get]
func DealyMessageInfo(c *gin.Context) {
	c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
	c.Header("Access-Control-Allow-Credentials", "true")

	if c.Query("Token") == "" || bson.IsObjectIdHex(c.Query("UserId")) == false {
		c.JSON(200, tools.ResponseError{
			1,
			"参数不正确",
		})
		return
	}

	if Token.GetToken(c.Query("UserId")) != c.Query("Token") {
		c.JSON(200, tools.ResponseError{
			401,
			"token过期",
		})
		return
	}

	var aDelayMessage []DelayMessage.Message
	DelayMessage.CDelayMessage.Find(bson.M{"UserId": c.Query("UserId")}).All(&aDelayMessage)

	if aDelayMessage == nil {
		aDelayMessage = []DelayMessage.Message{}
	}
	c.JSON(200, tools.ResponseSeccess{
		0,
		aDelayMessage,
	})
}

// @Title 创建提醒
// @Description 创建提醒
// @Accept  json
// @Produce  json
// @Param   UserId     5dfb03070a9ac17ac7a82054    string     true        "用户id"
// @Param   Token     wgergejfwe    string     true        "用户token"
// @Param   UDID     5dfb03070a9ac17ac7a82054    string     true        "设备id"
// @Param   Title     表演时间提醒    string     true        "标题"
// @Param   Content     5分钟后有表演    string     true        "内容"
// @Param   DelayTime     1579066863    string     true        "到达这个时间戳就执行"
// @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}"
// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
// @Router /DealyMessage/Create? [post]
func CreateDealyMessage(c *gin.Context) {
	c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
	c.Header("Access-Control-Allow-Credentials", "true")

	if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("UserId")) == false {
		c.JSON(200, tools.ResponseError{
			1,
			"参数不正确",
		})
		return
	}

	if Token.GetToken(c.PostForm("UserId")) != c.PostForm("Token") {
		c.JSON(200, tools.ResponseError{
			401,
			"token过期",
		})
		return
	}

	err := DelayMessage.GlobalDM.AddTaskForAppMessage(c.PostForm("DelayTime"), c.PostForm("UDID"), c.PostForm("Title"), c.PostForm("Content"), c.PostForm("UserId"))

	if err == nil {

		c.JSON(200, tools.ResponseSeccess{
			0,
			"ok",
		})
	} else {

		c.JSON(200, tools.ResponseError{
			1,
			err.Error(),
		})
	}

}

// @Title 删除提醒
// @Description 删除提醒
// @Accept  json
// @Produce  json
// @Param   id     5dfb03070a9ac17ac7a82054    string     true        "提醒id"
// @Param   UserId     5dfb03070a9ac17ac7a82054    string     true        "用户id"
// @Param   Token     wgergejfwe    string     true        "用户token"
// @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}"
// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
// @Router /DealyMessage/Remove? [post]
func RemoveDealyMessage(c *gin.Context) {
	c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
	c.Header("Access-Control-Allow-Credentials", "true")

	if c.PostForm("Token") == "" || bson.IsObjectIdHex(c.PostForm("UserId")) == false {
		c.JSON(200, tools.ResponseError{
			1,
			"参数不正确",
		})
		return
	}

	if Token.GetToken(c.PostForm("UserId")) != c.PostForm("Token") {
		c.JSON(200, tools.ResponseError{
			401,
			"token过期",
		})
		return
	}

	DelayMessage.GlobalDM.DelTaskForId(c.PostForm("id"))

	c.JSON(200, tools.ResponseSeccess{
		0,
		"ok",
	})

}