activity_help_ask.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "hongze/hz_crm_api/utils"
  5. )
  6. type ActivityHelpAsk struct {
  7. AskId int `orm:"column(ask_id);主键ID"`
  8. ActivityId int `description:"活动ID"`
  9. UserId int `description:"用户ID"`
  10. CreateTime string `description:"创建时间"`
  11. Mobile string `description:"手机号"`
  12. CompanyName string `description:"公司名称"`
  13. RealName string `description:"姓名"`
  14. Content string `description:"内容"`
  15. }
  16. type ActivityHelpAskListResp struct {
  17. List []*ActivityHelpAsk
  18. }
  19. // 列表
  20. func GetActivityHelpAskList(activityId int) (items []*ActivityHelpAsk, err error) {
  21. o := orm.NewOrm()
  22. sql := `SELECT k.*,u.real_name
  23. FROM cygx_activity_help_ask as k
  24. INNER JOIN wx_user as u ON u.mobile = k.mobile
  25. WHERE activity_id = ? ORDER BY create_time DESC`
  26. _, err = o.Raw(sql, activityId).QueryRows(&items)
  27. return
  28. }
  29. // 获取活动带问的用户的openID
  30. func GetActivityHelpAskOpenIdList(activityId int) (items []*OpenIdList, err error) {
  31. var sql string
  32. if utils.RunMode == "release" {
  33. sql = `SELECT DISTINCT cr.open_id,u.user_id
  34. FROM
  35. cygx_activity_help_ask AS m
  36. INNER JOIN user_record AS u ON u.bind_account = m.mobile
  37. INNER JOIN cygx_user_record AS cr ON cr.union_id = u.union_id
  38. WHERE m.activity_id = ? AND u.create_platform = 4 `
  39. } else {
  40. sql = `SELECT
  41. u.open_id,
  42. u.user_id
  43. FROM
  44. cygx_activity_help_ask AS s
  45. INNER JOIN wx_user AS wx ON wx.user_id = s.user_id
  46. INNER JOIN user_record AS u ON u.bind_account = wx.mobile
  47. INNER JOIN company_product AS p ON p.company_id = wx.company_id
  48. WHERE
  49. s.activity_id = ?
  50. AND u.create_platform = 1
  51. AND p.STATUS IN ( '正式', '试用', '永续' )
  52. GROUP BY
  53. u.open_id`
  54. }
  55. _, err = orm.NewOrm().Raw(sql, activityId).QueryRows(&items)
  56. return
  57. }