wechat_send_msg.go 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. )
  5. func GetOpenIdArr() (items []string, err error) {
  6. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  7. INNER JOIN company AS c ON c.company_id = wu.company_id
  8. INNER JOIN company_product AS d ON c.company_id=d.company_id
  9. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  10. WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续')
  11. ORDER BY FIELD(c.company_id, 16) desc, ur.user_record_id asc`
  12. _, err = orm.NewOrmUsingDB("weekly").Raw(sql).QueryRows(&items)
  13. return
  14. }
  15. func GetOpenIdArrByClassifyId(classifyId int) (items []string, err error) {
  16. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  17. INNER JOIN company AS c ON c.company_id = wu.company_id
  18. INNER JOIN company_product AS d ON c.company_id=d.company_id
  19. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  20. INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
  21. INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
  22. INNER JOIN chart_permission_search_key_word_mapping AS g ON f.chart_permission_id=g.chart_permission_id
  23. WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续') AND e.status IN('正式','试用','永续')
  24. AND g.from='rddp'
  25. AND g.classify_id=?
  26. ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC `
  27. o := orm.NewOrmUsingDB("weekly")
  28. _, err = o.Raw(sql, classifyId).QueryRows(&items)
  29. return
  30. }