wechat_send_msg.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package models
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. )
  6. type OpenIdList struct {
  7. OpenId string
  8. UserId int
  9. }
  10. func GetOpenIdArr() (items []string, err error) {
  11. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  12. INNER JOIN company AS c ON c.company_id = wu.company_id
  13. INNER JOIN company_product AS d ON c.company_id=d.company_id
  14. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  15. WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续')
  16. ORDER BY FIELD(c.company_id, 16) desc, ur.user_record_id asc`
  17. o := global.DbMap[utils.DbNameWeekly]
  18. err = o.Raw(sql).Find(&items).Error
  19. return
  20. }
  21. func GetOpenIdArrByClassifyId(classifyId int) (items []string, err error) {
  22. sql := ` SELECT DISTINCT ur.open_id FROM wx_user AS wu
  23. INNER JOIN company AS c ON c.company_id = wu.company_id
  24. INNER JOIN company_product AS d ON c.company_id=d.company_id
  25. INNER JOIN user_record AS ur ON wu.user_id=ur.user_id
  26. INNER JOIN company_report_permission AS e ON d.company_id=e.company_id
  27. INNER JOIN chart_permission AS f ON e.chart_permission_id=f.chart_permission_id
  28. INNER JOIN chart_permission_search_key_word_mapping AS g ON f.chart_permission_id=g.chart_permission_id
  29. WHERE ur.open_id != "" AND ur.subscribe=1 AND ur.create_platform=1 AND d.status IN('正式','试用','永续') AND e.status IN('正式','试用','永续')
  30. AND g.from='rddp'
  31. AND g.classify_id=?
  32. ORDER BY FIELD(c.company_id, 16) DESC, ur.user_record_id ASC `
  33. o := global.DbMap[utils.DbNameWeekly]
  34. err = o.Raw(sql, classifyId).Find(&items).Error
  35. return
  36. }