industrial_management.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. package services
  2. import (
  3. "context"
  4. "fmt"
  5. "hongze/hongze_cygx/models"
  6. "hongze/hongze_cygx/utils"
  7. "strings"
  8. )
  9. //修改标签状态
  10. func UpdateIndustrialManagementLabel(cont context.Context) (err error) {
  11. defer func() {
  12. if err != nil {
  13. fmt.Println("修改失败,Err:", err.Error())
  14. }
  15. }()
  16. fmt.Println("修改状态0000")
  17. go models.UpdateIndustrialIsNewLabel()
  18. list, err := models.GetIndustrialMorethan10()
  19. if err != nil {
  20. return err
  21. }
  22. if len(list) == 0 {
  23. return
  24. }
  25. var idStr string
  26. for _, v := range list {
  27. idStr += v.IndustrialManagementId + ","
  28. }
  29. idStr = strings.TrimRight(idStr, ",")
  30. go models.UpdateIndustrialIsDeepLabel(idStr)
  31. //fmt.Println(idStr)
  32. //go models.UpdateActivitySattusToComplete()
  33. fmt.Println("修改状态完成")
  34. return
  35. }
  36. //修改活动状态
  37. func UpdateIndustrialManagementSubjectNnames() (err error) {
  38. defer func() {
  39. if err != nil {
  40. fmt.Println("修改失败,Err:", err.Error())
  41. }
  42. }()
  43. fmt.Println("修改产业关联标的")
  44. list, err := models.GetIndustrialManagementIds()
  45. if err != nil {
  46. return err
  47. }
  48. for _, v := range list {
  49. //fmt.Println(v.IndustrialManagementId)
  50. var nameSub string
  51. listSub, errdSub := models.GetcygxIndustrialSubject(v.IndustrialManagementId)
  52. if errdSub != nil {
  53. return errdSub
  54. }
  55. for _, v2 := range listSub {
  56. fmt.Println(v2.SubjectName)
  57. nameSub += v2.SubjectName + ","
  58. }
  59. nameSub += v.IndustryName
  60. go models.UpdateIndustrialManagementSubjectNames(nameSub, v.IndustrialManagementId)
  61. }
  62. if len(list) == 0 {
  63. return
  64. }
  65. fmt.Println("修改状态完成")
  66. return
  67. }
  68. func ChageIndustrialArticleNum(cont context.Context) (err error) {
  69. allList, err := models.IndustrialManagementAll()
  70. if err != nil {
  71. fmt.Println("GetArticleAll Err:", err.Error())
  72. return
  73. }
  74. for _, v := range allList {
  75. total, errTop := models.GetIndustrialManagementArtCount(v.IndustrialManagementId)
  76. if errTop != nil {
  77. fmt.Println("Top Err:", errTop.Error())
  78. return
  79. }
  80. if total > 0 {
  81. err = models.UpdateIndustrialManagementArtReadNum(total, v.IndustrialManagementId)
  82. if err != nil {
  83. fmt.Println("Update Err:", err.Error())
  84. return
  85. }
  86. }
  87. }
  88. return
  89. }
  90. func ReportBillboardUpdate(cont context.Context) (err error) {
  91. //修改产业关注数量
  92. go IndustryFllowCountUpdate()
  93. //修改文章收藏数量
  94. go ArticleCollectCountUpdate()
  95. return
  96. }
  97. //修改产业关注数量
  98. func IndustryFllowCountUpdate() (err error) {
  99. defer func() {
  100. if err != nil {
  101. go utils.SendAlarmMsg("修改产业关注数量信息失败"+err.Error(), 2)
  102. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "GetCeLueArticlePv ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  103. }
  104. }()
  105. fllowList, err := models.GetUserFllowIndustrialCountList()
  106. if err != nil {
  107. return
  108. }
  109. for _, v := range fllowList {
  110. err = models.UpdateIndustrialManagementFllowNum(v.Num, v.IndustrialManagementId)
  111. if err != nil {
  112. return
  113. }
  114. }
  115. return err
  116. }
  117. //修改文章收藏数量
  118. func ArticleCollectCountUpdate() (err error) {
  119. defer func() {
  120. if err != nil {
  121. go utils.SendAlarmMsg("修改文章收藏数量信息失败"+err.Error(), 2)
  122. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "修改文章收藏数量信息失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  123. }
  124. }()
  125. collectList, err := models.GetUserArticleCollectList()
  126. if err != nil {
  127. return
  128. }
  129. for _, v := range collectList {
  130. err = models.UpdateArticleCollectCountNum(v.Num, v.ArticleId)
  131. if err != nil {
  132. return
  133. }
  134. }
  135. return err
  136. }
  137. //根据行业处理所选的全部赛道字段
  138. func DoXzsChooseSend(chartPermissionName string) string {
  139. var allIn string
  140. if chartPermissionName == utils.YI_YAO_NAME {
  141. allIn = "all_in_yi_yao"
  142. } else if chartPermissionName == utils.XIAO_FEI_NAME {
  143. allIn = "all_in_xiao_fei"
  144. } else if chartPermissionName == utils.KE_JI_NAME {
  145. allIn = "all_in_ke_ji"
  146. } else if chartPermissionName == utils.ZHI_ZAO_NAME {
  147. allIn = "all_in_zhi_zao"
  148. } else if chartPermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
  149. allIn = "all_in_yan_xuan"
  150. }
  151. return allIn
  152. }
  153. //行业关注或者取消关注的时候,对于用户全部赛道的影响
  154. func IndustryFllowWithTrack(industrialManagementId, count, uid int) (err error) {
  155. defer func() {
  156. if err != nil {
  157. fmt.Println(err)
  158. go utils.SendAlarmMsg("修改行业关注或者取消关注的时候,对于用户全部赛道的影响信息失败"+err.Error(), 2)
  159. go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "修改行业关注或者取消关注的时候,对于用户全部赛道的影响信息失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
  160. }
  161. }()
  162. detail, err := models.GetIndustrialManagementDetail(industrialManagementId)
  163. if err != nil {
  164. return err
  165. }
  166. categoryinfo, err := models.GetChartPermissionById(detail.ChartPermissionId)
  167. if err != nil {
  168. return err
  169. }
  170. var allIn string
  171. allIn = DoXzsChooseSend(categoryinfo.PermissionName)
  172. if allIn != "" {
  173. //如果取消关注就把该赛道设置为非全部赛道
  174. if count == 1 {
  175. err = models.UpdateCygxXzsChooseSendIsAllIn(allIn, 0, uid)
  176. if err != nil {
  177. return err
  178. }
  179. } else {
  180. //医药、消费、科技、智造、研选下的产业赛道
  181. mapIndustrial := make(map[int][]*models.IndustrialManagementRep)
  182. industrialList, err := models.GetindustrialManagement()
  183. if err != nil {
  184. return err
  185. }
  186. for _, v := range industrialList {
  187. mapIndustrial[v.ChartPermissionId] = append(mapIndustrial[v.ChartPermissionId], v)
  188. }
  189. fllowNum, err := models.GetCountCygxIndustryFllowByUidAndChartPermissionId(uid, detail.ChartPermissionId)
  190. if err != nil {
  191. return err
  192. }
  193. if fllowNum == len(mapIndustrial[detail.ChartPermissionId]) {
  194. err = models.UpdateCygxXzsChooseSendIsAllIn(allIn, 1, uid)
  195. if err != nil {
  196. return err
  197. }
  198. }
  199. }
  200. }
  201. return err
  202. }