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.

103 line
2.5KB

  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. in.replyText("servve get user info")
  19. procGetBasicUserInfo.clean(ss)
  20. }
  21. func (m *getBasicUserInfoDef) summary(ss *openIDSessionData) {
  22. //build article message with user's picture and email,phone
  23. articles := []sendNewsArticle{}
  24. lead, found, err := crmFindLeadByOpenID(ss.OpenID)
  25. if err != nil {
  26. log.Println(err)
  27. kfSendTxt(ss.OpenID, "系统正在维护中,请稍候,请联络人工查询服务")
  28. }
  29. if !found {
  30. lead, err = crmCreateLeadByOpenID(ss.OpenID)
  31. kfSendTxt(ss.OpenID, "您在系统中并没有记录, 为您创建新纪录")
  32. }
  33. //main photo
  34. articles = append(articles, lead.getBasicUserInfoPhoto())
  35. //email
  36. articles = append(articles, lead.getBasicUserInfoEmail())
  37. //phone
  38. articles = append(articles, lead.getBasicUserInfoPhone())
  39. //edit
  40. articles = append(articles, lead.getBasicUserInfoEditButton())
  41. kfSendNews(ss.OpenID, "总标题", "总描述", articles)
  42. //kfSendTemplateMsg(ss.OpenID)
  43. }
  44. func (m *getBasicUserInfoDef) intro(ss *openIDSessionData, in *InWechatMsg) {
  45. in.replyText("完善您的个人资料,保护您的个人权益")
  46. m.summary(ss)
  47. }
  48. func (m crmdLead) getBasicUserInfoPhoto() (ret sendNewsArticle) {
  49. a := sendNewsArticle{}
  50. a.Description = ""
  51. a.PicURL = m.avatarCacheURL()
  52. a.Title = m.Name
  53. a.URL = m.avatarCacheURL()
  54. log.Println(a.URL)
  55. return a
  56. }
  57. func (m crmdLead) getBasicUserInfoEmail() (ret sendNewsArticle) {
  58. a := sendNewsArticle{}
  59. a.Description = ""
  60. a.PicURL = ""
  61. if m.EmailAddress == "" {
  62. a.Title = "电邮: 妹有,妹有啊"
  63. } else {
  64. a.Title = "电邮: " + m.EmailAddress
  65. }
  66. a.URL = ""
  67. return a
  68. }
  69. func (m crmdLead) getBasicUserInfoPhone() (ret sendNewsArticle) {
  70. a := sendNewsArticle{}
  71. a.Description = ""
  72. a.PicURL = ""
  73. if m.PhoneNumber == "" {
  74. a.Title = "电话: 贼个真妹有啊"
  75. } else {
  76. a.Title = "电话: " + m.PhoneNumber
  77. }
  78. a.URL = ""
  79. return a
  80. }
  81. func (m crmdLead) getBasicUserInfoEditButton() (ret sendNewsArticle) {
  82. a := sendNewsArticle{}
  83. a.Description = ""
  84. a.PicURL = ""
  85. a.Title = "点击这里编辑您的资料"
  86. a.URL = "https://google.com.au"
  87. return a
  88. }