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.

107 lines
2.6KB

  1. package main
  2. import "log"
  3. type getBasicUserInfoDef struct {
  4. chatProcedureID
  5. }
  6. var procGetBasicUserInfo = getBasicUserInfoDef{}
  7. func (m *getBasicUserInfoDef) init(ss *openIDSessionData) {
  8. ss.Procedure = m.getID()
  9. ss.refreshExpire(600)
  10. }
  11. func (m *getBasicUserInfoDef) clean(ss *openIDSessionData) {
  12. ss.Procedure = ""
  13. }
  14. func (m *getBasicUserInfoDef) start(ss *openIDSessionData, in *InWechatMsg) {
  15. procGetBasicUserInfo.summary(ss)
  16. }
  17. func (m *getBasicUserInfoDef) serve(ss *openIDSessionData, in *InWechatMsg) {
  18. procGetBasicUserInfo.clean(ss)
  19. }
  20. func (m *getBasicUserInfoDef) summary(ss *openIDSessionData) {
  21. //build article message with user's picture and email,phone
  22. articles := []sendNewsArticle{}
  23. lead, found, err := crmFindLeadByOpenID(ss.OpenID)
  24. if err != nil {
  25. log.Println(err)
  26. kfSendTxt(ss.OpenID, "系统正在维护中,请稍候,请联络人工查询服务")
  27. }
  28. if !found {
  29. lead, err = crmCreateLeadByOpenID(ss.OpenID)
  30. if err == nil {
  31. kfSendTxt(ss.OpenID, "您在系统中并没有记录, 为您创建新纪录")
  32. } else {
  33. log.Printf("ERROR creating Lead for OpenID %s\n %s", ss.OpenID, err)
  34. }
  35. }
  36. //main photo
  37. articles = append(articles, lead.getBasicUserInfoPhoto())
  38. //email
  39. articles = append(articles, lead.getBasicUserInfoEmail())
  40. //phone
  41. articles = append(articles, lead.getBasicUserInfoPhone())
  42. //edit
  43. articles = append(articles, lead.getBasicUserInfoEditButton())
  44. kfSendNews(ss.OpenID, "总标题", "总描述", articles)
  45. //kfSendTemplateMsg(ss.OpenID)
  46. }
  47. func (m *getBasicUserInfoDef) intro(ss *openIDSessionData, in *InWechatMsg) {
  48. in.replyText("")
  49. m.summary(ss)
  50. }
  51. func (m crmdLead) getBasicUserInfoPhoto() (ret sendNewsArticle) {
  52. a := sendNewsArticle{}
  53. a.Description = ""
  54. a.PicURL = m.avatarCacheURL()
  55. a.Title = m.Name
  56. a.URL = m.avatarCacheURL()
  57. log.Println(a.URL)
  58. return a
  59. }
  60. func (m crmdLead) getBasicUserInfoEmail() (ret sendNewsArticle) {
  61. a := sendNewsArticle{}
  62. a.Description = ""
  63. a.PicURL = ""
  64. if m.EmailAddress == "" {
  65. a.Title = "电邮: 妹有,妹有啊"
  66. } else {
  67. a.Title = "电邮: " + m.EmailAddress
  68. }
  69. a.URL = ""
  70. return a
  71. }
  72. func (m crmdLead) getBasicUserInfoPhone() (ret sendNewsArticle) {
  73. a := sendNewsArticle{}
  74. a.Description = ""
  75. a.PicURL = ""
  76. if m.PhoneNumber == "" {
  77. a.Title = "电话: zhei4 个真妹有啊"
  78. } else {
  79. a.Title = "电话: " + m.PhoneNumber
  80. }
  81. a.URL = ""
  82. return a
  83. }
  84. func (m crmdLead) getBasicUserInfoEditButton() (ret sendNewsArticle) {
  85. a := sendNewsArticle{}
  86. a.Description = ""
  87. a.PicURL = ""
  88. a.Title = "点击这里编辑您的资料"
  89. a.URL = "https://google.com.au"
  90. return a
  91. }