Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

57 lines
1.4KB

  1. package main
  2. type procFeedbackDef struct {
  3. chatProcedureID
  4. }
  5. var procFeedback = procFeedbackDef{}
  6. func (m *procFeedbackDef) init(ss *openIDSessionData) {
  7. ss.Procedure = m.getID()
  8. ss.refreshExpire(600)
  9. }
  10. func (m *procFeedbackDef) clean(ss *openIDSessionData) {
  11. ss.Procedure = ""
  12. }
  13. func (m *procFeedbackDef) start(ss *openIDSessionData, in *InWechatMsg) {
  14. m.clean(ss)
  15. }
  16. func (m *procFeedbackDef) serve(ss *openIDSessionData, in *InWechatMsg) (processed bool) {
  17. switch msg := in.body.(type) {
  18. case TextMsg:
  19. processed = true
  20. in.transfer2KF()
  21. kfSendTxt(ss.OpenID, "文字收到,已转接校友会,稍后答复您")
  22. case PicMsg:
  23. processed = true
  24. in.transfer2KF()
  25. kfSendTxt(ss.OpenID, "图片收到,已转接校友会投诉部门,稍后答复您")
  26. case VoiceMsg:
  27. processed = true
  28. in.transfer2KF()
  29. kfSendTxt(ss.OpenID, "语音收到,已转接校友会,尽快答复您")
  30. case EventMsg:
  31. processed = true
  32. if msg.Event == "LOCATION" {
  33. onLocation(in)
  34. }
  35. if msg.Event == "CLICK" {
  36. processed = false //we might need to process other menu command.
  37. }
  38. default:
  39. processed = false
  40. }
  41. return
  42. }
  43. func (m *procFeedbackDef) summary(ss *openIDSessionData) {
  44. kfSendTxtAs(ss.OpenID, "投诉内容结束,我们将尽快答复您的咨询", "孙鹏")
  45. }
  46. func (m *procFeedbackDef) intro(ss *openIDSessionData, in *InWechatMsg) {
  47. in.replyText("请输入你要投诉的信息, 校友会将尽快作出回应,欢迎您的反馈和监督")
  48. }