Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

109 lignes
2.8KB

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