Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

113 linhas
3.9KB

  1. package main
  2. import (
  3. "time"
  4. )
  5. func onClick(ss *openIDSessionData, in *InWechatMsg) {
  6. e := in.body.(EventMsg)
  7. openid := in.header.FromUserName
  8. switch e.EventKey {
  9. case "MEMBER_MYPROFILE":
  10. //kfSendTxtAs(openid, "profile", "孙鹏")
  11. startProc(AllProc["用户信息"], ss, in)
  12. case "MEMBER_CREDITS":
  13. onMembeCredits(ss, in)
  14. case "MEMBER_SEARCH":
  15. startProc(AllProc["搜索校友"], ss, in)
  16. case "MEMBER_FEEDBACK":
  17. startProc(AllProc["投诉反馈"], ss, in)
  18. case "EVENT_STARTONE":
  19. in.replyText("众人拾柴火焰高,欢迎校友积极发起各种活动")
  20. onStartNewMeeting(ss, in)
  21. case "EVENT_LIVE":
  22. in.replyText("校友会活动,经常会有直播,以及3D VR影像\n\n由于距离原因不能参加活动的,欢迎通过直播和各位校友互动")
  23. onGetLiveCast(ss, in)
  24. case "EVENT_CHECKIN":
  25. kfSendTxtAs(openid, "签到", "孙鹏")
  26. case "EVENT_LUCKYDRAW":
  27. kfSendTxtAs(openid, "目前暂无抽奖活动", "孙鹏")
  28. case "EVENTS_UPCOMING":
  29. kfSendTxtAs(openid, "目前有一项活动,10月21日,许晓冬主讲,关于物联网 详情: https://www.hitxy.org.au/2017/10/15/2017_1015_peterxu/, 请在微信群里报名接龙", "孙鹏")
  30. case "CAREERDEV_JOBS":
  31. kfSendTxtAs(openid, "工作", "孙鹏")
  32. case "CAREERDEV_INDUSTRY":
  33. kfSendTxtAs(openid, "业界", "孙鹏")
  34. case "CAREERDEV_OUTREACH":
  35. kfSendTxtAs(openid, "out", "孙鹏")
  36. case "CAREERDEV_HIT":
  37. kfSendTxtAs(openid, "母校", "孙鹏")
  38. case "CAREERDEV_HELP":
  39. kfSendTxtAs(openid, "互助", "孙鹏")
  40. default:
  41. kfSendTxt(openid, e.EventKey)
  42. }
  43. in.replyText("")
  44. }
  45. func onMembeCredits(ss *openIDSessionData, in *InWechatMsg) {
  46. msg := `
  47. 积分是您对校友会的贡献记录,积分越高对校友会的贡献越大,也是对所有对校友会无私奉献的一种公开认可。
  48. 积分可以通过校友会兑换成奖金或纪念品。
  49. 余额是您在校友会活动中的奖金余额,根据活动内容,以现金,卡,或者礼物的形式兑现。
  50. `
  51. kfSendTxtAs(ss.OpenID, msg, "孙鹏")
  52. info, found, err := crmFindLeadByOpenID(ss.OpenID)
  53. if found && err == nil {
  54. url := ""
  55. AEST, _ := time.LoadLocation("Australia/Sydney")
  56. first := "截至" + time.Now().In(AEST).Format("2006-01-02 15:04") + "(澳洲东部时间) 您的积分,奖品,余额,如下\n\n" +
  57. "积分:无"
  58. name := info.LastName
  59. addr := info.EmailAddress
  60. card := info.ID
  61. balance := "澳币 $0 "
  62. remark := "奖品:无\n\n余额可联络财务兑现,奖品余额30天过期" + "\n请确保您的姓名,地址信息正确"
  63. templateSendAccountBalance(ss.OpenID, url, first, remark, name, addr, card, balance)
  64. }
  65. }
  66. func onStartNewMeeting(ss *openIDSessionData, in *InWechatMsg) {
  67. m := crmdMeeting{}
  68. info, found, err := crmFindLeadByOpenID(ss.OpenID)
  69. if found && err == nil && info.ID != "" { //lead found
  70. m.getMeetingByLead(info.ID)
  71. }
  72. url := m.getEditMeetingURL(info.ID)
  73. first := "校友会鼓励澳洲各地校友,积极发起活动,促进校友团结和发展\n\n根据活动内容提供活动资助\n\n"
  74. name := info.LastName
  75. application := "申请主办校友会的活动"
  76. remark := "\n\n发起活动请点击详情"
  77. if m.ID != "" { //no existing
  78. first = "您已有一次活动申请正在进行中,您现在还可以修改活动内容\n\n"
  79. name = info.LastName
  80. application = m.Name
  81. remark = "\n\n点击详情进行修改"
  82. }
  83. templateSendApplicationResult(ss.OpenID, url, first, remark, name, application)
  84. }
  85. func onGetLiveCast(ss *openIDSessionData, in *InWechatMsg) {
  86. first := "最近一次直播2018年3月14日,母校领导访问悉尼\n\n"
  87. name := "匿名用户"
  88. application := "观看直播"
  89. remark := "\n\n点击详情观看直播"
  90. info, found, err := crmFindLeadByOpenID(ss.OpenID)
  91. if found && err == nil && info.ID != "" { //lead found
  92. name = info.LastName
  93. }
  94. url := "https://hitxy.org.au/live" //GlobalPath.ThisSiteURL + "/spa/livecast"
  95. templateSendApplicationResult(ss.OpenID, url, first, remark, name, application)
  96. }