wx_template_msg.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package models
  2. import "github.com/beego/beego/v2/client/orm"
  3. type SendTemplateResponse struct {
  4. Errcode int `json:"errcode"`
  5. Errmsg string `json:"errmsg"`
  6. MsgID int `json:"msgid"`
  7. }
  8. type OpenIdList struct {
  9. OpenId string
  10. }
  11. func GetOpenIdList() (items []*OpenIdList, err error) {
  12. openIdstr := WxUsersGet()
  13. sql := `SELECT open_id FROM wx_user AS wu
  14. INNER JOIN company AS c ON c.company_id = wu.company_id
  15. WHERE wu.open_id IS NOT NULL AND c.type IN (1,2) `
  16. if openIdstr != "" {
  17. sql += ` AND open_id in (` + openIdstr + `) `
  18. }
  19. _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
  20. return
  21. }
  22. func GetWxOpenIdList() (items []*OpenIdList, err error) {
  23. sql := `SELECT open_id FROM wx_user AS wu
  24. INNER JOIN company AS c ON c.company_id = wu.company_id
  25. WHERE open_id=? `
  26. openId := "oW3Gts7V3hj-sTAE1VDi0MhGlee8"
  27. _, err = orm.NewOrm().Raw(sql, openId).QueryRows(&items)
  28. return
  29. }
  30. func DeleteTemplateRecordByDate(date string) (err error) {
  31. sql := `DELETE FROM user_template_record WHERE create_time<? `
  32. o := orm.NewOrm()
  33. _, err = o.Raw(sql, date).Exec()
  34. return
  35. }
  36. // GetOpenIdListV2 2022-08-18从hongze_admin复制过来的最新的代码
  37. func GetOpenIdListV2() (items []*OpenIdList, err error) {
  38. sql := `SELECT DISTINCT
  39. ur.open_id,
  40. wu.user_id
  41. FROM
  42. wx_user AS wu
  43. INNER JOIN company AS c ON c.company_id = wu.company_id
  44. INNER JOIN company_product AS d ON c.company_id = d.company_id
  45. INNER JOIN user_record AS ur ON wu.user_id = ur.user_id
  46. WHERE
  47. ur.open_id != "" AND ur.subscribe = 1 AND ur.create_platform = 1 AND d. STATUS IN ('正式', '试用', '永续') `
  48. _, err = orm.NewOrm().Raw(sql).QueryRows(&items)
  49. return
  50. }