wechat.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "hongze/hongze_public_api/models"
  5. "hongze/hongze_public_api/services"
  6. "hongze/hongze_public_api/services/alarm_msg"
  7. )
  8. //发送模板消息
  9. type WechatController struct {
  10. BaseAuthController
  11. }
  12. // @Title 推送模板消息
  13. // @Description 推送模板消息
  14. // @Success 200 新增成功
  15. // @router /send_template_msg [post]
  16. func (this *WechatController) SendTemplateMsg() {
  17. br := new(models.BaseResponse).Init()
  18. defer func() {
  19. this.Data["json"] = br
  20. this.ServeJSON()
  21. }()
  22. body := this.Ctx.Input.RequestBody
  23. sendItem := new(models.SendWxTemplate)
  24. err := json.Unmarshal(body, &sendItem)
  25. if err != nil {
  26. br.Msg = "参数解析失败"
  27. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  28. return
  29. }
  30. if sendItem.TemplateId == "" {
  31. br.Msg = "参数错误,模板id为空"
  32. return
  33. }
  34. if len(sendItem.OpenIdArr) <= 0 {
  35. br.Msg = "openid为空"
  36. return
  37. }
  38. go func() {
  39. if sendItem.RedirectTarget == 3 {
  40. err = services.SendWxTemplateMsgCygx(sendItem)
  41. }else{
  42. err = services.SendWxTemplateMsg(sendItem)
  43. }
  44. if err != nil {
  45. msg := "URI:" + this.Ctx.Input.URI() + "<br/> " + "Params" + string(body) + " <br/>" + "ErrMsg:" + err.Error() + ";<br/> Body:" + string(body) + "<br/>"
  46. go alarm_msg.SendAlarmMsg(msg, 1)
  47. }
  48. }()
  49. br.Ret = 200
  50. br.Msg = "推送成功"
  51. return
  52. }