research_summary.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package services
  2. import (
  3. "errors"
  4. "fmt"
  5. "hongze/hongze_clpt/models"
  6. "hongze/hongze_clpt/utils"
  7. "strconv"
  8. )
  9. // 本周研究汇总用户阅读操作操作行为,模板消息推送
  10. func ResearchSummaryHistoryUserRmind(user *models.WxUserItem, articleId int) (err error) {
  11. defer func() {
  12. if err != nil {
  13. go utils.SendAlarmMsg(fmt.Sprint("本周研究汇总用户阅读操作操作行为,模板消息推送 ,ResearchSummaryHistoryUserRmind"+err.Error(), "userId:", user.UserId, "articleId:", articleId), 2)
  14. }
  15. }()
  16. countUser, err := models.GetUserRemind(user.UserId)
  17. if err != nil {
  18. return err
  19. }
  20. if countUser == 0 {
  21. return err
  22. }
  23. var first string
  24. var keyword1 string
  25. var keyword2 string
  26. var keyword3 string
  27. var keyword4 string
  28. var remark string
  29. //获取销售手机号
  30. sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
  31. if err != nil && err.Error() != utils.ErrNoRow() {
  32. return err
  33. }
  34. if sellerItemQy != nil {
  35. openIdList, e := models.GetWxOpenIdByMobileList(sellerItemQy.Mobile)
  36. if e != nil {
  37. err = errors.New("GetWxOpenIdByMobileList, Err: " + e.Error())
  38. return
  39. }
  40. detail, e := models.GetCygxResearchSummaryInfoById(articleId)
  41. if e != nil {
  42. err = errors.New("GetCygxResearchSummaryInfoById, Err: " + e.Error())
  43. return
  44. }
  45. if detail == nil {
  46. return
  47. }
  48. keyword1 = detail.Title
  49. keyword2 = fmt.Sprint("互动:阅读报告,", user.RealName, "--", user.CompanyName)
  50. openIdArr := make([]string, 0)
  51. for _, v := range openIdList {
  52. openIdArr = append(openIdArr, v.OpenId)
  53. }
  54. redirectUrl := utils.WX_MSG_PATH_THIS_WEEK_DETAIL + strconv.Itoa(articleId)
  55. sendInfo := new(SendWxTemplate)
  56. sendInfo.First = first
  57. sendInfo.Keyword1 = keyword1
  58. sendInfo.Keyword2 = keyword2
  59. sendInfo.Keyword3 = keyword3
  60. sendInfo.Keyword4 = keyword4
  61. sendInfo.Remark = remark
  62. sendInfo.TemplateId = utils.WxMsgTemplateIdArticleUserRemind
  63. sendInfo.RedirectUrl = redirectUrl
  64. sendInfo.RedirectTarget = 3
  65. sendInfo.Resource = strconv.Itoa(articleId)
  66. sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
  67. sendInfo.OpenIdArr = openIdArr
  68. e = PublicSendTemplateMsg(sendInfo)
  69. if e != nil {
  70. err = errors.New("PublicSendTemplateMsg, Err: " + e.Error())
  71. return
  72. }
  73. }
  74. return
  75. }