industry_fllow.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. package cygx
  2. //func init() {
  3. // AddUserFllowCompanyLossToTryOut(12841)
  4. //}
  5. // 流失客户转试用给下面的用户自动添加产业关注
  6. //func AddUserFllowCompanyLossToTryOut(companyId int) {
  7. // var err error
  8. // defer func() {
  9. // if err != nil {
  10. // fmt.Println(err)
  11. // go alarm_msg.SendAlarmMsg("流失客户转试用给下面的用户自动添加产业关注。失败 ErrMsg:"+err.Error()+"companyId :"+strconv.Itoa(companyId), 2)
  12. // }
  13. // }()
  14. //
  15. // //获取机构下所有的用户
  16. // userList, e := models.GetWxUserListCompanyId(companyId)
  17. // if e != nil {
  18. // err = errors.New("GetWxUserListByUserMobileHaveCompany" + e.Error())
  19. // return
  20. // }
  21. //
  22. // if len(userList) == 0 {
  23. // return
  24. // }
  25. // var condition string
  26. // var pars []interface{}
  27. // //所有的产业
  28. // industrNamelist, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
  29. // if e != nil {
  30. // err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error())
  31. // return
  32. // }
  33. //
  34. // var userIds []int
  35. //
  36. // for _, v := range userList {
  37. // userIds = append(userIds, v.UserId)
  38. // }
  39. //
  40. // condition = " AND user_id IN (" + utils.GetOrmInReplace(len(userIds)) + ") "
  41. // pars = append(pars, userIds)
  42. // userFllowList, e := cygx.GetCygxIndustryFllowList(condition, pars, 0, 0)
  43. // if e != nil {
  44. // err = errors.New("GetCygxIndustryFllowList, Err: " + e.Error())
  45. // return
  46. // }
  47. // mapUserFllow := make(map[string]bool) // 用户已经关注了某些产业
  48. //
  49. // for _, v := range userFllowList {
  50. // mapUserFllow[fmt.Sprint("Uid_", v.UserId, "IndustrialManagementId_", v.IndustrialManagementId)] = true //用户ID与产业ID组成唯一索引Map
  51. // }
  52. //
  53. // var numk int
  54. // var industryFllowItems []*cygx.CygxIndustryFllow
  55. // var Items []*cygx.CygxIndustryFllow
  56. //
  57. // for _, vUser := range userList {
  58. // for _, vIndustry := range industrNamelist {
  59. // if mapUserFllow[fmt.Sprint("Uid_", vUser.UserId, "IndustrialManagementId_", vIndustry.IndustrialManagementId)] {
  60. // continue
  61. // }
  62. // item := new(cygx.CygxIndustryFllow)
  63. // item.IndustrialManagementId = vIndustry.IndustrialManagementId
  64. // item.UserId = vUser.UserId
  65. // item.Email = vUser.Email
  66. // item.Mobile = vUser.Mobile
  67. // item.RealName = vUser.RealName
  68. // item.CompanyId = vUser.CompanyId
  69. // item.CompanyName = vUser.CompanyName
  70. // item.Source = 3 // 通过程序或者管理员手动添加的关注
  71. // item.Type = 1
  72. // item.CreateTime = time.Now()
  73. // item.ModifyTime = time.Now()
  74. // Items = append(Items, item)
  75. // }
  76. // }
  77. // //fmt.Println("Items", len(Items))
  78. // //如果小于五千条就直接插入,大于五千条就批量插入
  79. // if len(Items) < 5000 {
  80. // e = cygx.AddCygxIndustryFllowMulti(Items)
  81. // if e != nil {
  82. // err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
  83. // return
  84. // }
  85. // } else {
  86. // for _, vUser := range Items {
  87. // numk++
  88. // item := new(cygx.CygxIndustryFllow)
  89. // item.IndustrialManagementId = vUser.IndustrialManagementId
  90. // item.UserId = vUser.UserId
  91. // item.Email = vUser.Email
  92. // item.Mobile = vUser.Mobile
  93. // item.RealName = vUser.RealName
  94. // item.CompanyId = vUser.CompanyId
  95. // item.CompanyName = vUser.CompanyName
  96. // item.Source = 3 // 通过程序或者管理员手动添加的关注
  97. // item.Type = 1
  98. // item.CreateTime = time.Now()
  99. // item.ModifyTime = time.Now()
  100. // industryFllowItems = append(industryFllowItems, item)
  101. // //一次插入五千条
  102. // if numk%5000 == 0 {
  103. // e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
  104. // if e != nil {
  105. // err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
  106. // return
  107. // }
  108. // industryFllowItems = make([]*cygx.CygxIndustryFllow, 0)
  109. // numk = 0
  110. // }
  111. // }
  112. // if len(industryFllowItems) > 0 {
  113. // e = cygx.AddCygxIndustryFllowMulti(industryFllowItems)
  114. // if e != nil {
  115. // err = errors.New("AddCygxIndustryFllowMulti , Err: " + e.Error())
  116. // return
  117. // }
  118. // }
  119. // }
  120. //
  121. // //fmt.Println("AddUserFllowCompanyLossToTryOut end")
  122. // return
  123. //}