wx_template_msg.go 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package models
  2. import (
  3. "eta_gn/eta_task/global"
  4. )
  5. type SendTemplateResponse struct {
  6. Errcode int `json:"errcode"`
  7. Errmsg string `json:"errmsg"`
  8. MsgID int `json:"msgid"`
  9. }
  10. type OpenIdList struct {
  11. OpenId string
  12. }
  13. func DeleteTemplateRecordByDate(date string) (err error) {
  14. //sql := `DELETE FROM user_template_record WHERE create_time<? `
  15. //o := orm.NewOrm()
  16. //_, err = o.Raw(sql, date).Exec()
  17. sql := `DELETE FROM user_template_record WHERE create_time<? `
  18. err = global.DEFAULT_DmSQL.Exec(sql, date).Error
  19. return
  20. }
  21. //// GetOpenIdListV2 2022-08-18从hongze_admin复制过来的最新的代码
  22. //func GetOpenIdListV2() (items []*OpenIdList, err error) {
  23. // sql := `SELECT DISTINCT
  24. // ur.open_id,
  25. // wu.user_id
  26. // FROM
  27. // wx_user AS wu
  28. // INNER JOIN company AS c ON c.company_id = wu.company_id
  29. // INNER JOIN company_product AS d ON c.company_id = d.company_id
  30. // INNER JOIN user_record AS ur ON wu.user_id = ur.user_id
  31. // WHERE
  32. // ur.open_id != "" AND ur.subscribe = 1 AND ur.create_platform = 1 AND d. STATUS IN ('正式', '试用', '永续') `
  33. // _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
  34. // return
  35. //}
  36. func GetOpenIdArr() (items []string, err error) {
  37. //sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  38. // INNER JOIN company AS c ON c.company_id = wu.company_id
  39. // INNER JOIN company_product AS d ON c.company_id=d.company_id
  40. // INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  41. // WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续')
  42. // ORDER BY FIELD(c.company_id, 16) desc, ur.user_record_id asc`
  43. //o := orm.NewOrm()
  44. //_, err = o.Raw(sql).QueryRows(&items)
  45. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  46. INNER JOIN company AS c ON c.company_id = wu.company_id
  47. INNER JOIN company_product AS d ON c.company_id=d.company_id
  48. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  49. WHERE ur.open_id != '' AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续')
  50. ORDER BY FIELD(c.company_id, 16) desc, ur.user_record_id asc`
  51. err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error
  52. return
  53. }
  54. //func GetOpenIdArrByClassifyNameSecond(classifyNameSecond string) (items []string, err error) {
  55. // sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  56. // INNER JOIN company AS c ON c.company_id = wu.company_id
  57. // INNER JOIN company_product AS d ON c.company_id=d.company_id
  58. // INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  59. // INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
  60. // INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
  61. // INNER JOIN chart_permission_search_key_word_mapping AS g ON f.chart_permission_id=g.chart_permission_id
  62. // WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续') AND e.status IN('正式','试用','永续')
  63. // AND g.from='rddp'
  64. // AND g.key_word=?
  65. // ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC `
  66. // o := orm.NewOrm()
  67. // _, err = o.Raw(sql, classifyNameSecond).QueryRows(&items)
  68. // return
  69. //}
  70. // GetOpenIdArrByClassifyId
  71. // @Description: 根据分类id获取关联的用户微信openid
  72. // @author: Roc
  73. // @datetime 2024-06-28 14:57:27
  74. // @param classifyId int
  75. // @return items []string
  76. // @return err error
  77. func GetOpenIdArrByClassifyId(classifyId int) (items []string, err error) {
  78. //sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  79. // INNER JOIN company AS c ON c.company_id = wu.company_id
  80. // INNER JOIN company_product AS d ON c.company_id=d.company_id
  81. // INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  82. // INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
  83. // INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
  84. // INNER JOIN chart_permission_search_key_word_mapping AS g ON f.chart_permission_id=g.chart_permission_id
  85. // WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续') AND e.status IN('正式','试用','永续')
  86. // AND g.from='rddp'
  87. // AND g.classify_id=?
  88. // ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC `
  89. //o := orm.NewOrmUsingDB("weekly")
  90. //_, err = o.Raw(sql, classifyId).QueryRows(&items)
  91. return
  92. }