No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

108 líneas
2.7KB

  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. procGetBasicUserInfo.clean(ss)
  17. }
  18. func (m *getBasicUserInfoDef) serve(ss *openIDSessionData, in *InWechatMsg) {
  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. kfSendTxt(ss.OpenID, "系统正在努力维护中,请稍候,请联络人工查询服务")
  34. log.Printf("ERROR creating Lead for OpenID %s\n %s", ss.OpenID, err)
  35. return
  36. }
  37. }
  38. //main photo
  39. articles = append(articles, lead.getBasicUserInfoPhoto())
  40. //email
  41. articles = append(articles, lead.getBasicUserInfoEmail())
  42. //phone
  43. articles = append(articles, lead.getBasicUserInfoPhone())
  44. //edit
  45. articles = append(articles, lead.getBasicUserInfoEditButton())
  46. kfSendNews(ss.OpenID, "总标题", "总描述", articles)
  47. //kfSendTemplateMsg(ss.OpenID)
  48. }
  49. func (m *getBasicUserInfoDef) intro(ss *openIDSessionData, in *InWechatMsg) {
  50. in.replyText("")
  51. //m.summary(ss)
  52. }
  53. func (m crmdLead) getBasicUserInfoPhoto() (ret sendNewsArticle) {
  54. a := sendNewsArticle{}
  55. a.Description = ""
  56. a.PicURL = m.avatarCacheURL()
  57. a.Title = m.Name
  58. a.URL = m.avatarCacheURL()
  59. log.Println(a.URL)
  60. return a
  61. }
  62. func (m crmdLead) getBasicUserInfoEmail() (ret sendNewsArticle) {
  63. a := sendNewsArticle{}
  64. a.Description = ""
  65. a.PicURL = ""
  66. if m.EmailAddress == "" {
  67. a.Title = "电邮: 妹有,妹有啊"
  68. } else {
  69. a.Title = "电邮: " + m.EmailAddress
  70. }
  71. a.URL = ""
  72. return a
  73. }
  74. func (m crmdLead) getBasicUserInfoPhone() (ret sendNewsArticle) {
  75. a := sendNewsArticle{}
  76. a.Description = ""
  77. a.PicURL = ""
  78. if m.PhoneNumber == "" {
  79. a.Title = "电话: zhei4 个真妹有啊"
  80. } else {
  81. a.Title = "电话: " + m.PhoneNumber
  82. }
  83. a.URL = ""
  84. return a
  85. }
  86. func (m crmdLead) getBasicUserInfoEditButton() (ret sendNewsArticle) {
  87. a := sendNewsArticle{}
  88. a.Description = ""
  89. a.PicURL = ""
  90. a.Title = "点击这里编辑您的资料"
  91. a.URL = "https://google.com.au"
  92. return a
  93. }