go_dreamfactory/modules/web/api_creatmail.go

55 lines
1.3 KiB
Go

package web
import (
"go_dreamfactory/lego/sys/gin"
"go_dreamfactory/lego/sys/gin/engine"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
"net/http"
)
type CrateMailReq struct {
pb.DBMailData
Sign string `json:"sign"`
}
//创建邮件
func (this *Api_Comp) CreateMail(c *engine.Context) {
req := &CrateMailReq{}
err := c.BindJSON(&req)
this.module.Debugf("CrateMail:%+v err:%v", req, err)
var (
code pb.ErrorCode
msg string
data interface{}
)
defer c.JSON(http.StatusOK, &Respond{Code: code, Message: msg, Data: data})
if sign := gin.ParamSign(this.options.Key, map[string]interface{}{
"Uid": req.Uid,
"Title": req.Title,
"Contex": req.Contex,
"CreateTime": req.CreateTime,
"DueTime": req.DueTime,
"Check": req.Check,
"Reward": req.Reward,
"Items": req.Items,
}); sign != req.Sign {
log.Errorf("LoginByCaptchaReq SignError sgin:%s", sign)
code = pb.ErrorCode_SignError
msg = pb.GetErrorCodeMsg(code)
return
}
if len(req.Title) == 0 {
code = pb.ErrorCode_ReqParameterError
msg = pb.GetErrorCodeMsg(code)
return
}
if err = this.module.modelMail.CreateGMMail(&req.DBMailData); err != nil {
log.Errorf("LoginByCaptchaReq CreateMail err:%v", err)
code = pb.ErrorCode_DBError
msg = pb.GetErrorCodeMsg(code)
return
}
msg = pb.GetErrorCodeMsg(code)
}