You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 satır
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. return
  35. }
  36. }
  37. //main photo
  38. articles = append(articles, lead.getBasicUserInfoPhoto())
  39. //email
  40. articles = append(articles, lead.getBasicUserInfoEmail())
  41. //phone
  42. articles = append(articles, lead.getBasicUserInfoPhone())
  43. //edit
  44. articles = append(articles, lead.getBasicUserInfoEditButton())
  45. kfSendNews(ss.OpenID, "总标题", "总描述", articles)
  46. //kfSendTemplateMsg(ss.OpenID)
  47. }
  48. func (m *getBasicUserInfoDef) intro(ss *openIDSessionData, in *InWechatMsg) {
  49. in.replyText("")
  50. m.summary(ss)
  51. }
  52. func (m crmdLead) getBasicUserInfoPhoto() (ret sendNewsArticle) {
  53. a := sendNewsArticle{}
  54. a.Description = ""
  55. a.PicURL = m.avatarCacheURL()
  56. a.Title = m.Name
  57. a.URL = m.avatarCacheURL()
  58. log.Println(a.URL)
  59. return a
  60. }
  61. func (m crmdLead) getBasicUserInfoEmail() (ret sendNewsArticle) {
  62. a := sendNewsArticle{}
  63. a.Description = ""
  64. a.PicURL = ""
  65. if m.EmailAddress == "" {
  66. a.Title = "电邮: 妹有,妹有啊"
  67. } else {
  68. a.Title = "电邮: " + m.EmailAddress
  69. }
  70. a.URL = ""
  71. return a
  72. }
  73. func (m crmdLead) getBasicUserInfoPhone() (ret sendNewsArticle) {
  74. a := sendNewsArticle{}
  75. a.Description = ""
  76. a.PicURL = ""
  77. if m.PhoneNumber == "" {
  78. a.Title = "电话: zhei4 个真妹有啊"
  79. } else {
  80. a.Title = "电话: " + m.PhoneNumber
  81. }
  82. a.URL = ""
  83. return a
  84. }
  85. func (m crmdLead) getBasicUserInfoEditButton() (ret sendNewsArticle) {
  86. a := sendNewsArticle{}
  87. a.Description = ""
  88. a.PicURL = ""
  89. a.Title = "点击这里编辑您的资料"
  90. a.URL = "https://google.com.au"
  91. return a
  92. }