activity_signup_detail.go 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. package services
  2. import (
  3. "context"
  4. "fmt"
  5. "hongze/hongze_cygx/models"
  6. "hongze/hongze_cygx/utils"
  7. )
  8. //AddctivitySignupDetail 获取当天已结束的活动的报名信息。添加到到会详情
  9. func AddctivitySignupDetail(cont context.Context) (err error) {
  10. defer func() {
  11. if err != nil {
  12. fmt.Println(err)
  13. go utils.SendAlarmMsg(" 获取当天已结束的活动的报名信息。添加到到会详情失败, ErrMsg:"+err.Error(), 2)
  14. }
  15. }()
  16. actList, err := models.GetActivitySattusToComplete()
  17. if err != nil && err.Error() != utils.ErrNoRow() {
  18. return err
  19. }
  20. if len(actList) == 0 {
  21. return err
  22. }
  23. activityIds := make([]int, 0)
  24. for _, v := range actList {
  25. activityIds = append(activityIds, v.ActivityId)
  26. }
  27. actLen := len(activityIds)
  28. var condition string
  29. var pars []interface{}
  30. if actLen > 0 {
  31. //condition += ` AND activity_id IN (` + utils.GetOrmInReplace(actLen) + `)`
  32. //pars = append(pars, activityIds)
  33. } else {
  34. return err
  35. }
  36. condition = ""
  37. //获取当天已经结束了 活动的报名人数
  38. signUpList, err := models.GetSignupDetailBySignup(condition, pars)
  39. if err != nil && err.Error() != utils.ErrNoRow() {
  40. return err
  41. }
  42. signUpDetailList, err := models.GetSignupDetailList(condition, pars)
  43. if err != nil && err.Error() != utils.ErrNoRow() {
  44. return err
  45. }
  46. mapsignUpDetai := make(map[string]string)
  47. if len(signUpDetailList) > 0 {
  48. for _, v := range signUpDetailList {
  49. mapsignUpDetai[fmt.Sprint("ActivityId", v.ActivityId, "Mobile", v.Mobile)] = v.Mobile
  50. }
  51. }
  52. var items []*models.CygxActivitySignupDetail
  53. if len(signUpList) > 0 {
  54. for _, v := range signUpList {
  55. if _, ok := mapsignUpDetai[fmt.Sprint("ActivityId", v.ActivityId, "Mobile", v.Mobile)]; !ok {
  56. item := new(models.CygxActivitySignupDetail)
  57. item.UserId = v.UserId
  58. item.RealName = v.RealName
  59. item.SellerName = v.SellerName
  60. item.ActivityId = v.ActivityId
  61. item.CreateTime = v.CreateTime
  62. item.Mobile = v.Mobile
  63. item.Email = v.Email
  64. item.CompanyId = v.CompanyId
  65. item.CompanyName = v.CompanyName
  66. item.SignupType = v.SignupType
  67. item.FailType = v.FailType
  68. item.DoFailType = v.DoFailType
  69. items = append(items, item)
  70. if len(items)%2000 == 0 {
  71. err = models.AddCygxActivitySignupDetail(items)
  72. if err != nil {
  73. return
  74. }
  75. items = make([]*models.CygxActivitySignupDetail, 0)
  76. }
  77. }
  78. }
  79. }
  80. if len(items) > 0 {
  81. err = models.AddCygxActivitySignupDetail(items)
  82. if err != nil {
  83. return
  84. }
  85. }
  86. return err
  87. }
  88. //AddctivitySignupDetailByJmcj 通过进门财经添加用户参数信息
  89. func AddctivitySignupDetailByJmcj(itemsDetail []*models.CygxActivityAttendanceDetail, activityId int) (err error) {
  90. fmt.Println()
  91. defer func() {
  92. if err != nil {
  93. fmt.Println(err)
  94. go utils.SendAlarmMsg("通过进门财经添加用户参数信息失败 ErrMsg:"+err.Error(), 2)
  95. }
  96. }()
  97. fmt.Println("活动ID", activityId)
  98. activityIds := make([]int, 0)
  99. activityIds = append(activityIds, activityId)
  100. actLen := len(activityIds)
  101. var condition string
  102. var pars []interface{}
  103. if actLen > 0 {
  104. condition += ` AND activity_id IN (` + utils.GetOrmInReplace(actLen) + `)`
  105. pars = append(pars, activityIds)
  106. }
  107. signUpDetailList, err := models.GetSignupDetailList(condition, pars)
  108. if err != nil && err.Error() != utils.ErrNoRow() {
  109. return err
  110. }
  111. mapsignUpDetai := make(map[string]string)
  112. if len(signUpDetailList) > 0 {
  113. for _, v := range signUpDetailList {
  114. mapsignUpDetai[fmt.Sprint("ActivityId", v.ActivityId, "Mobile", v.Mobile)] = v.Mobile
  115. }
  116. }
  117. var itemsAdd []*models.CygxActivitySignupDetail
  118. var itemsUpdate []*models.CygxActivitySignupDetail
  119. for _, v := range itemsDetail {
  120. var item = new(models.CygxActivitySignupDetail)
  121. item.ActivityId = v.ActivityId
  122. item.RealName = v.RealName
  123. item.Mobile = v.Mobile
  124. item.CompanyName = v.CompanyName
  125. item.CompanyId = v.CompanyId
  126. item.SellerName = v.SellerName
  127. item.FirstMeetingTime = v.FirstMeetingTime
  128. item.LastMeetingTime = v.LastMeetingTime
  129. item.Duration = v.Duration
  130. item.MeetingTypeStr = v.MeetingTypeStr
  131. item.MeetingAuthentication = v.MeetingAuthentication
  132. item.MeetingStatusStr = v.MeetingStatusStr
  133. item.CreateTime = v.CreateTime
  134. item.Position = v.Position
  135. item.IsMeeting = 1
  136. item.UseridEntity = v.UseridEntity
  137. item.ActivityTime = v.ActivityTime
  138. item.CrmCompanyMapStatusId = v.CrmCompanyMapStatusId
  139. //fmt.Println(item)
  140. //return err
  141. if _, ok := mapsignUpDetai[fmt.Sprint("ActivityId", v.ActivityId, "Mobile", v.Mobile)]; !ok {
  142. itemsAdd = append(itemsAdd, item)
  143. } else {
  144. itemsUpdate = append(itemsUpdate, item)
  145. }
  146. }
  147. if len(itemsAdd) > 0 {
  148. err = models.AddCygxActivitySignupDetail(itemsAdd)
  149. if err != nil {
  150. return
  151. }
  152. }
  153. if len(itemsAdd) > 0 {
  154. err = models.UpdateActivitySignupDetailMulti(itemsUpdate)
  155. if err != nil {
  156. return
  157. }
  158. }
  159. return err
  160. }
  161. func GetCygxActivityAttendanceDetail() {
  162. listAll, err := models.GetActivityAttendanceDetailListAll()
  163. if err != nil {
  164. fmt.Println(err)
  165. }
  166. mapDetal := make(map[int][]*models.CygxActivityAttendanceDetail)
  167. for _, v := range listAll {
  168. mapDetal[v.ActivityId] = append(mapDetal[v.ActivityId], v)
  169. }
  170. for k, v := range mapDetal {
  171. AddctivitySignupDetailByJmcj(v, k)
  172. }
  173. //fmt.Println(mapDetal)
  174. }