common.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package task
  2. import (
  3. "fmt"
  4. "go.uber.org/zap"
  5. "log-server/global"
  6. "log-server/model/task"
  7. "log-server/model/typeManage"
  8. "log-server/utils"
  9. "time"
  10. )
  11. type Common struct {
  12. Person typeManage.ResponsiblePerson
  13. TConf task.TaskConf
  14. }
  15. type SendMsg struct {
  16. MsgType string `json:"msgtype"`
  17. Markdown struct {
  18. Content string `json:"content"`
  19. } `json:"markdown"`
  20. }
  21. type SendTextMsg struct {
  22. MsgType string `json:"msgtype"`
  23. Text struct {
  24. MentionedMobileList []string `json:"mentioned_mobile_list"`
  25. } `json:"text"`
  26. }
  27. type SendTextContent struct {
  28. MsgType string `json:"msgtype"`
  29. Text struct {
  30. Content string `json:"content"`
  31. MentionedMobileList []string `json:"mentioned_mobile_list"`
  32. } `json:"text"`
  33. }
  34. func (s *Common) RemindSend(url, content string, mobile []string) {
  35. var sendTextData SendTextContent
  36. sendTextData.MsgType = "text"
  37. sendTextData.Text.MentionedMobileList = mobile
  38. sendTextData.Text.Content = content
  39. s.SendMsgData(url, sendTextData)
  40. }
  41. func (s *Common) SendMsgData(url string, params interface{}) {
  42. _, _ = utils.HttpPost(url, params)
  43. return
  44. }
  45. func (s *Common) SaveGameAddFee(num, target int, taskName string) {
  46. fee := new(task.GameAddFee)
  47. fee.TaskName = taskName
  48. fee.Num = num
  49. fee.Target = target
  50. fee.CreateDate = time.Now()
  51. global.GVA_DB.Omit("create_time").Create(&fee)
  52. return
  53. }
  54. // 加付费通知
  55. func (s *Common) FreeSendMsg(num, target, taskId int, taskName, director string, payComplete int) {
  56. taskConf, err := s.TConf.GetTaskConfByTaskId(taskId)
  57. if err != nil {
  58. global.GVA_LOG.Error("FreeSendMsg获取任务配置失败"+director, zap.Error(err))
  59. return
  60. }
  61. if taskConf.AddFeeNotice == 0 {
  62. taskConf.AddFeeNotice = 10
  63. }
  64. hour := time.Now().Hour()
  65. if hour < 8 || num < taskConf.AddFeeNotice {
  66. return
  67. }
  68. person, err := s.Person.GetUserInfoByName(director)
  69. if err != nil {
  70. global.GVA_LOG.Error("FreeSendMsg获取用户数据失败"+director, zap.Error(err))
  71. }
  72. if person.PushStatus != 1 {
  73. return
  74. }
  75. personMsg := "# 加付费"
  76. personMsg += fmt.Sprintf("<font color=\"warning\">%s</font>", time.Now().Format("2006-01-02 15:04:05"))
  77. personMsg += "\n"
  78. personMsg += taskName
  79. personMsg += fmt.Sprintf("<font color=\"warning\"> 加付费 %d, 当前付费目标 %d, 当前剩余付费 %d</font>", num, target, target-payComplete)
  80. url := person.Url
  81. var sendData SendMsg
  82. sendData.MsgType = "markdown"
  83. sendData.Markdown.Content = personMsg
  84. s.SendMsgData(url, sendData)
  85. }
  86. func (s *Common) PaymentRatioErrSendMsg(paymentRatio map[string]string) {
  87. if len(paymentRatio) <= 0 {
  88. return
  89. }
  90. hour := time.Now().Hour()
  91. if hour < 8 {
  92. return
  93. }
  94. var groupMobile []string
  95. groupMsg := "# 付费比例异常"
  96. groupMsg += fmt.Sprintf("<font color=\"warning\">%s</font>", time.Now().Format("2006-01-02 15:04:05"))
  97. groupMsg += "\n"
  98. for director, msg := range paymentRatio {
  99. person, err := s.Person.GetUserInfoByName(director)
  100. if err != nil {
  101. global.GVA_LOG.Error("PaymentRatioErrSendMsg获取用户数据失败"+director, zap.Error(err))
  102. }
  103. personMsg := "# 付费比例异常"
  104. personMsg += fmt.Sprintf("<font color=\"warning\">%s</font>", time.Now().Format("2006-01-02 15:04:05"))
  105. personMsg += "\n"
  106. personMsg += msg
  107. groupMsg += "**" + director + "**"
  108. groupMsg += "\n"
  109. groupMsg += msg
  110. url := person.Url
  111. var sendData SendMsg
  112. sendData.MsgType = "markdown"
  113. sendData.Markdown.Content = personMsg
  114. s.SendMsgData(url, sendData)
  115. groupMobile = append(groupMobile, person.MobilePhoneNumber)
  116. }
  117. url := global.GVA_CONFIG.SendUrl.ComputerSendUrl
  118. var sendData SendMsg
  119. sendData.MsgType = "markdown"
  120. sendData.Markdown.Content = groupMsg
  121. s.SendMsgData(url, sendData)
  122. if len(groupMobile) != 0 {
  123. var sendTextData SendTextMsg
  124. sendTextData.MsgType = "text"
  125. sendTextData.Text.MentionedMobileList = groupMobile
  126. s.SendMsgData(url, sendTextData)
  127. }
  128. }