DataDashboardTest.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.tzld.longarticle.recommend.server;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.tzld.longarticle.recommend.server.common.enums.recommend.ArticleCategoryStatusEnum;
  4. import com.tzld.longarticle.recommend.server.mapper.longArticle.ArticleCategoryMapper;
  5. import com.tzld.longarticle.recommend.server.model.entity.longArticle.ArticleCategory;
  6. import com.tzld.longarticle.recommend.server.model.entity.longArticle.DatastatScore;
  7. import com.tzld.longarticle.recommend.server.model.vo.IntermediateIndicatorsExport;
  8. import com.tzld.longarticle.recommend.server.model.vo.NewSortStrategyExport;
  9. import com.tzld.longarticle.recommend.server.repository.longArticle.ArticleCategoryRepository;
  10. import com.tzld.longarticle.recommend.server.repository.longArticle.DatastatScoreRepository;
  11. import com.tzld.longarticle.recommend.server.service.recommend.DataDashboardService;
  12. import com.tzld.longarticle.recommend.server.util.DateUtils;
  13. import com.tzld.longarticle.recommend.server.util.feishu.FeiShu;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.junit.jupiter.api.Test;
  16. import org.springframework.boot.test.context.SpringBootTest;
  17. import org.springframework.data.util.Pair;
  18. import org.springframework.http.HttpHeaders;
  19. import javax.annotation.Resource;
  20. import java.util.List;
  21. import java.util.Map;
  22. import java.util.Objects;
  23. import java.util.stream.Collectors;
  24. @SpringBootTest(classes = Application.class)
  25. @Slf4j
  26. public class DataDashboardTest {
  27. @Resource
  28. DataDashboardService dataDashboardService;
  29. @Resource
  30. DatastatScoreRepository datastatScoreRepository;
  31. @Resource
  32. ArticleCategoryRepository articleCategoryRepository;
  33. @Resource
  34. ArticleCategoryMapper articleCategoryMapper;
  35. @Test
  36. public void test() {
  37. List<IntermediateIndicatorsExport> result = dataDashboardService.intermediateIndicatorsData("20241225");
  38. log.info(JSONObject.toJSONString(result));
  39. }
  40. @Test
  41. public void newSortStrategyData() {
  42. List<NewSortStrategyExport> result = dataDashboardService.newSortStrategyData("20241222",
  43. "20241223", "9", 0);
  44. log.info(JSONObject.toJSONString(result));
  45. }
  46. @Test
  47. public void producePlanAuditExport() {
  48. List<String> dateStrList = DateUtils.getBeforeDays(null, null, 86);
  49. dataDashboardService.producePlanAuditExport(dateStrList);
  50. }
  51. @Test
  52. public void delFeishuSheet() {
  53. List<String> delDateStrList = DateUtils.getBeforeDays(null, null, 14);
  54. Pair<String, Integer> token = FeiShu.requestAccessToken();
  55. HttpHeaders httpHeaders = new HttpHeaders();
  56. httpHeaders.add("Authorization", "Bearer " + token.getFirst());
  57. dataDashboardService.delFeishuSheet(httpHeaders, "7d4e12", 2, delDateStrList);
  58. }
  59. @Test
  60. public void contentFunnelExport() {
  61. List<String> dateStrList = DateUtils.getBeforeDays(null, null, 15);
  62. dataDashboardService.contentFunnelExport(dateStrList);
  63. }
  64. @Test
  65. public void contentGroupFunnelExport() {
  66. List<String> dateStrList = DateUtils.getBeforeDays(null, null, 7);
  67. dataDashboardService.contentGroupFunnelExport(dateStrList);
  68. }
  69. @Test
  70. public void datastatScore() {
  71. List<DatastatScore> scoreList = datastatScoreRepository.getBySourceIdIsNotNull();
  72. List<ArticleCategory> categoryList = articleCategoryRepository.getByStatusAndVersion(ArticleCategoryStatusEnum.SUCCESS.getCode(), 2);
  73. Map<String, ArticleCategory> categoryMap = categoryList.stream().collect(Collectors.toMap(ArticleCategory::getProduceContentId, category -> category));
  74. Map<String, ArticleCategory> titleMap = categoryList.stream().collect(Collectors.toMap(ArticleCategory::getTitle, category -> category, (a, b) -> a));
  75. Map<String, List<DatastatScore>> scoreMap = scoreList.stream().collect(Collectors.groupingBy(DatastatScore::getTitle));
  76. for (Map.Entry<String, List<DatastatScore>> entry : scoreMap.entrySet()) {
  77. String title = entry.getKey();
  78. List<DatastatScore> list = entry.getValue();
  79. ArticleCategory category = null;
  80. for (DatastatScore score : list) {
  81. category = categoryMap.get(score.getSourceId());
  82. if (Objects.nonNull(category)) {
  83. category = titleMap.get(score.getTitle());
  84. break;
  85. }
  86. }
  87. if (Objects.isNull(category)) {
  88. category = titleMap.get(title);
  89. }
  90. if (Objects.isNull(category)) {
  91. log.error("category not exists");
  92. continue;
  93. }
  94. articleCategoryMapper.updateArticleCategory(title, category.getCategory());
  95. }
  96. }
  97. }