morning_meeting.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package services
  2. import (
  3. "context"
  4. "errors"
  5. "fmt"
  6. "hongze/hongze_cygx/models"
  7. "hongze/hongze_cygx/utils"
  8. "strconv"
  9. "strings"
  10. "time"
  11. )
  12. //
  13. //func init() {
  14. //
  15. // for i := 180; i > 0; i-- {
  16. // MakeMorningMeetingReviews(i)
  17. // }
  18. //
  19. //}
  20. func MakeMorningMeetingReviews(cont context.Context) (err error) {
  21. //func MakeMorningMeetingReviews(day int) (err error) {
  22. //func init12(day int) (err error) {
  23. defer func() {
  24. if err != nil {
  25. fmt.Println(err)
  26. go utils.SendAlarmMsg("定时生成晨会精华汇总失败,err:"+err.Error(), 2)
  27. }
  28. }()
  29. day := 0
  30. hourstr := " 10:30:00 "
  31. DayTime := time.Now().AddDate(0, 0, -day)
  32. startSize := 0
  33. pageSize := 100
  34. var condition string
  35. var pars []interface{}
  36. startDate := DayTime.AddDate(0, 0, -1).Format(utils.FormatDate) + hourstr
  37. endDate := DayTime.Format(utils.FormatDate) + hourstr
  38. condition = ` AND publish_time = ? `
  39. pars = append(pars, endDate)
  40. total, err := models.GetCygxMorningMeetingGatherCount(condition, pars)
  41. if err != nil {
  42. return
  43. }
  44. if total > 0 {
  45. return
  46. }
  47. pars = make([]interface{}, 0)
  48. condition = ` AND publish_time BETWEEN ? AND ? `
  49. pars = append(pars, startDate, endDate)
  50. list, err := models.GetCygxMorningMeetingReviewsList(condition, pars, startSize, pageSize)
  51. if err != nil {
  52. return
  53. }
  54. if len(list) == 0 {
  55. return
  56. }
  57. item := new(models.CygxMorningMeetingGather)
  58. for _, v := range list {
  59. item.MeetingIds += strconv.Itoa(v.Id) + ","
  60. }
  61. item.MeetingIds = strings.TrimRight(item.MeetingIds, ",")
  62. item.Title = utils.GetTimeDateHourAndDay(DayTime) + "(" + utils.StrDateTimeToWeek(DayTime.Format(utils.FormatDateTime)) + ")" + "|晨会精华"
  63. item.CreateTime = time.Now()
  64. item.ModifyTime = time.Now()
  65. item.PublishTime = endDate
  66. item.Status = 1
  67. err = models.AddCygxMorningMeetingGather(item)
  68. return
  69. }
  70. // 添加晨会点评点击记录
  71. func AddCygxMorningMeetingReviewChapterHistory(user *models.WxUserItem, articleId int, sourcePage string) (err error) {
  72. defer func() {
  73. if err != nil {
  74. go utils.SendAlarmMsg(fmt.Sprint("添加晨会点评点击记录失败 ,AddCygxMorningMeetingReviewChapterHistory err"+err.Error(), "id:", articleId, "sourcePage:", sourcePage, "userid:", user.UserId), 2)
  75. }
  76. }()
  77. detail, e := models.GetCygxMorningMeetingReviewChapterDetail(articleId)
  78. if e != nil {
  79. err = errors.New("GetCygxMorningMeetingReviewChapterDetail, Err: " + e.Error())
  80. return
  81. }
  82. historyRecord := new(models.CygxMorningMeetingReviewChapterHistory)
  83. historyRecord.UserId = user.UserId
  84. historyRecord.ArticleId = articleId
  85. historyRecord.SourcePage = sourcePage
  86. historyRecord.CreateTime = time.Now()
  87. historyRecord.Mobile = user.Mobile
  88. historyRecord.Email = user.Email
  89. historyRecord.CompanyId = user.CompanyId
  90. historyRecord.CompanyName = user.CompanyName
  91. historyRecord.MeetingId = int(detail.MeetingId)
  92. historyRecord.RegisterPlatform = utils.REGISTER_PLATFORM
  93. sellerItem, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
  94. if e != nil && e.Error() != utils.ErrNoRow() {
  95. err = errors.New("GetSellerByCompanyIdCheckFicc, Err: " + e.Error())
  96. return
  97. }
  98. historyRecord.RealName = user.RealName
  99. if sellerItem != nil {
  100. historyRecord.SellerName = sellerItem.RealName
  101. }
  102. _, e = models.AddCygxMorningMeetingReviewChapterHistory(historyRecord)
  103. if e != nil {
  104. err = errors.New("AddCygxMorningMeetingReviewChapterHistorymodels, Err: " + e.Error())
  105. return
  106. }
  107. return
  108. }