public_meeting.go 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package roadshow
  2. import (
  3. "context"
  4. "fmt"
  5. "hongze/hongze_task/models/roadshow"
  6. "hongze/hongze_task/utils"
  7. "strconv"
  8. "time"
  9. )
  10. //
  11. //func SetPublicMeetingUnionCode(cont context.Context) (err error) {
  12. // now := time.Now().Format(utils.FormatDate)
  13. // list, err := roadshow.GetPublicMeetingList(now)
  14. // if err != nil {
  15. // return
  16. // }
  17. //
  18. // for _, v := range list {
  19. // calendarResearchItem, err := roadshow.GetRsCalendarResearcherById(v.RsCalendarResearcherId)
  20. // if err != nil {
  21. // fmt.Println("GetRsCalendarById Err:" + err.Error())
  22. // return
  23. // }
  24. // if calendarResearchItem == nil {
  25. // continue
  26. // }
  27. // var unionCode string
  28. // if calendarResearchItem.UnionCode != "" {
  29. // unionCode = calendarResearchItem.UnionCode
  30. // } else {
  31. // //生成当前公开会议联合编码
  32. // unionCodeStr := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(int(time.Now().Unix()))
  33. // unionCode = utils.MD5(unionCodeStr)
  34. // }
  35. //
  36. // err = roadshow.ModifyCalendarUnionCode(unionCode, v.RsCalendarId)
  37. // if err != nil {
  38. // fmt.Println("ModifyCalendarUnionCode Err:" + err.Error())
  39. // return
  40. // }
  41. // startDateTime := v.StartDate + " " + v.StartTime
  42. // endDateTime := v.EndDate + " " + v.EndTime
  43. // coincideList, err := roadshow.GetCoincideMeeting(startDateTime, endDateTime)
  44. // if err != nil {
  45. // return
  46. // }
  47. // for _, cv := range coincideList {
  48. // if cv.UnionCode != unionCode {
  49. // err = roadshow.ModifyCalendarUnionCode(unionCode, cv.RsCalendarId)
  50. // if err != nil {
  51. // fmt.Println("ModifyCalendarUnionCode Err:" + err.Error())
  52. // return
  53. // }
  54. // }
  55. // }
  56. // }
  57. // return
  58. //}
  59. func SetPublicMeetingUnionCode(cont context.Context) (err error) {
  60. fmt.Println("start SetPublicMeetingUnionCode" + time.Now().Format(utils.FormatDateTime))
  61. now := time.Now().AddDate(-1, 0, 0).Format(utils.FormatDate)
  62. //清空现有分组
  63. err = roadshow.ClearCalendarUnionCode(now)
  64. if err != nil {
  65. return
  66. }
  67. list, err := roadshow.GetPublicMeetingList(now)
  68. if err != nil {
  69. return
  70. }
  71. for _, v := range list {
  72. calendarResearchItem, err := roadshow.GetRsCalendarById(v.RsCalendarId)
  73. if err != nil {
  74. fmt.Println("GetRsCalendarById Err:" + err.Error())
  75. return err
  76. }
  77. if calendarResearchItem == nil {
  78. continue
  79. }
  80. if calendarResearchItem.UnionCode != "" {
  81. continue
  82. }
  83. startDateTime := v.MinTime
  84. endDateTime := v.MaxTime
  85. var unionCode string
  86. unionCodeStr := strconv.Itoa(v.RsCalendarId) + "_" + strconv.Itoa(int(time.Now().Unix()))
  87. unionCode = utils.MD5(unionCodeStr)
  88. err = roadshow.ModifyCalendarUnionCode(unionCode, v.RsCalendarId)
  89. if err != nil {
  90. fmt.Println("ModifyCalendarUnionCode Err:" + err.Error())
  91. return err
  92. }
  93. fmt.Println("SetCoincideMeeting:", startDateTime, endDateTime)
  94. SetCoincideMeeting(startDateTime, endDateTime, unionCode)
  95. }
  96. fmt.Println("end SetPublicMeetingUnionCode" + time.Now().Format(utils.FormatDateTime))
  97. return
  98. }
  99. func SetCoincideMeeting(startDateTime, endDateTime, unionCode string) (err error) {
  100. coincideList, err := roadshow.GetCoincideMeeting(startDateTime, endDateTime)
  101. if err != nil {
  102. return err
  103. }
  104. for _, cv := range coincideList {
  105. calendarResearchItem, err := roadshow.GetRsCalendarById(cv.RsCalendarId)
  106. if err != nil {
  107. fmt.Println("GetRsCalendarById Err:" + err.Error())
  108. return err
  109. }
  110. if calendarResearchItem == nil {
  111. continue
  112. }
  113. if calendarResearchItem.UnionCode != "" {
  114. continue
  115. }
  116. fmt.Println("RsCalendarId:", cv.RsCalendarId)
  117. err = roadshow.ModifyCalendarUnionCode(unionCode, cv.RsCalendarId)
  118. if err != nil {
  119. fmt.Println("ModifyCalendarUnionCode Err:" + err.Error())
  120. return err
  121. }
  122. }
  123. minTime, maxTime, err := roadshow.GetCoincideMeetingMinAndMaxTime(startDateTime, endDateTime)
  124. if minTime == startDateTime && maxTime == endDateTime {
  125. return err
  126. } else {
  127. startDateTime = minTime
  128. endDateTime = maxTime
  129. SetCoincideMeeting(startDateTime, endDateTime, unionCode)
  130. }
  131. fmt.Println("结束循环")
  132. fmt.Println(startDateTime, endDateTime, minTime, maxTime)
  133. return err
  134. }