wx_template_msg.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package models
  2. import (
  3. "eta/eta_task/global"
  4. "eta/eta_task/utils"
  5. )
  6. type SendTemplateResponse struct {
  7. Errcode int `json:"errcode"`
  8. Errmsg string `json:"errmsg"`
  9. MsgID int `json:"msgid"`
  10. }
  11. type OpenIdList struct {
  12. OpenId string
  13. }
  14. func DeleteTemplateRecordByDate(date string) (err error) {
  15. sql := `DELETE FROM user_template_record WHERE create_time<? `
  16. o := global.DbMap[utils.DbNameWeekly]
  17. err = o.Exec(sql, date).Error
  18. return
  19. }
  20. func GetOpenIdArr() (items []string, err error) {
  21. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  22. INNER JOIN company AS c ON c.company_id = wu.company_id
  23. INNER JOIN company_product AS d ON c.company_id=d.company_id
  24. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  25. WHERE ur.open_id != '' AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续')
  26. ORDER BY FIELD(c.company_id, 16) desc, ur.user_record_id asc`
  27. o := global.DbMap[utils.DbNameWeekly]
  28. err = o.Raw(sql).Find(&items).Error
  29. return
  30. }
  31. // GetOpenIdArrByClassifyId
  32. // @Description: 根据分类id获取关联的用户微信openid
  33. // @author: Roc
  34. // @datetime 2024-06-28 14:57:27
  35. // @param classifyId int
  36. // @return items []string
  37. // @return err error
  38. func GetOpenIdArrByClassifyId(classifyId int) (items []string, err error) {
  39. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  40. INNER JOIN company AS c ON c.company_id = wu.company_id
  41. INNER JOIN company_product AS d ON c.company_id=d.company_id
  42. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  43. INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
  44. INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
  45. INNER JOIN chart_permission_search_key_word_mapping AS g ON f.chart_permission_id=g.chart_permission_id
  46. WHERE ur.open_id != '' AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续') AND e.status IN('正式','试用','永续')
  47. AND g.from='rddp'
  48. AND g.classify_id=?
  49. ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC `
  50. sql = utils.ReplaceDriverKeywords("", sql)
  51. o := global.DbMap[utils.DbNameWeekly]
  52. err = o.Raw(sql, classifyId).Find(&items).Error
  53. return
  54. }