|
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.StatusEnum;
|
|
|
+import com.tzld.longarticle.recommend.server.common.enums.aigc.ProduceContentAuditStatusEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.AccountBusinessTypeEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.ArticleTypeEnum;
|
|
|
import com.tzld.longarticle.recommend.server.common.enums.recommend.ContentPoolEnum;
|
|
@@ -14,6 +15,7 @@ import com.tzld.longarticle.recommend.server.common.enums.recommend.RankStrategy
|
|
|
import com.tzld.longarticle.recommend.server.mapper.aigc.AigcBaseMapper;
|
|
|
import com.tzld.longarticle.recommend.server.mapper.longArticle.LongArticleBaseMapper;
|
|
|
import com.tzld.longarticle.recommend.server.model.dto.ProduceContentDTO;
|
|
|
+import com.tzld.longarticle.recommend.server.model.dto.ProducePlanAuditCheckDTO;
|
|
|
import com.tzld.longarticle.recommend.server.model.dto.PublishContentDTO;
|
|
|
import com.tzld.longarticle.recommend.server.model.entity.aigc.*;
|
|
|
import com.tzld.longarticle.recommend.server.model.entity.crawler.AccountAvgInfo;
|
|
@@ -28,6 +30,7 @@ import com.tzld.longarticle.recommend.server.model.param.PublishContentParam;
|
|
|
import com.tzld.longarticle.recommend.server.model.vo.FirstContentScoreExport;
|
|
|
import com.tzld.longarticle.recommend.server.model.vo.IntermediateIndicatorsExport;
|
|
|
import com.tzld.longarticle.recommend.server.model.vo.NewSortStrategyExport;
|
|
|
+import com.tzld.longarticle.recommend.server.model.vo.ProducePlanAuditExport;
|
|
|
import com.tzld.longarticle.recommend.server.model.vo.aigc.ProduceAuditLayoutContentObjVO;
|
|
|
import com.tzld.longarticle.recommend.server.repository.aigc.*;
|
|
|
import com.tzld.longarticle.recommend.server.repository.crawler.AccountAvgInfoRepository;
|
|
@@ -1726,4 +1729,97 @@ public class DataDashboardService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void producePlanAuditExport(String dateStr) {
|
|
|
+ if (!StringUtils.hasText(dateStr)) {
|
|
|
+ dateStr = DateUtils.getBeforeDaysDateStr("yyyyMMdd", 1);
|
|
|
+ }
|
|
|
+ List<ProducePlanAuditExport> exportList = buildProducePlanAuditExport(dateStr);
|
|
|
+ if (CollectionUtil.isEmpty(exportList)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ int rowNum = exportList.size();
|
|
|
+ List<List<Object>> rows = new ArrayList<>();
|
|
|
+ Field[] fields = ProducePlanAuditExport.class.getDeclaredFields();
|
|
|
+ for (ProducePlanAuditExport datum : exportList) {
|
|
|
+ List<Object> rowDatas = new ArrayList<>();
|
|
|
+ rows.add(rowDatas);
|
|
|
+
|
|
|
+ for (Field field : fields) {
|
|
|
+ field.setAccessible(true);
|
|
|
+ try {
|
|
|
+ rowDatas.add(field.get(datum));
|
|
|
+ } catch (IllegalAccessException e) {
|
|
|
+ log.error("获取值出错:{}", field.getName());
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ doSendFeishuSheet(Collections.singletonList(dateStr), sheetToken, "28RgAZ", rowNum, rows,
|
|
|
+ 2, null, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<ProducePlanAuditExport> buildProducePlanAuditExport(String dateStr) {
|
|
|
+ Long timeStamp = DateUtils.getStartOfDay(dateStr, "yyyyMMdd") * 1000;
|
|
|
+ List<String> planIds = Arrays.asList("20240802143345289374071", "20240802171417146947657",
|
|
|
+ "20240804003153130851174", "20241030070010871546586", "20240802080355355308981",
|
|
|
+ "20240802021606053813696");
|
|
|
+ List<ProducePlan> producePlans = producePlanRepository.findByIdIn(planIds);
|
|
|
+ Map<String, String> producePlanMap = producePlans.stream().collect(Collectors.toMap(ProducePlan::getId, ProducePlan::getName));
|
|
|
+ List<ProducePlanAuditCheckDTO> producePlanAudtiList = aigcBaseMapper.getProducePlanAudit(
|
|
|
+ timeStamp, timeStamp + 86400000, planIds);
|
|
|
+ Map<String, List<ProducePlanAuditCheckDTO>> producePlanAuditMap = producePlanAudtiList.stream()
|
|
|
+ .collect(Collectors.groupingBy(ProducePlanAuditCheckDTO::getPlanId));
|
|
|
+ List<ProducePlanAuditCheckDTO> producePlanProduceList = aigcBaseMapper.getProducePlanProduce(
|
|
|
+ timeStamp, timeStamp + 86400000, planIds);
|
|
|
+ Map<String, Integer> producePlanProduceMap = producePlanProduceList.stream()
|
|
|
+ .collect(Collectors.toMap(ProducePlanAuditCheckDTO::getPlanId, ProducePlanAuditCheckDTO::getNum));
|
|
|
+ List<ProducePlanAuditExport> exportList = new ArrayList<>();
|
|
|
+ Integer totalAuditNum = 0, totalAuditPassNum = 0, totalWaitingAuditNum = 0, totalAuditFailNum = 0, totalProduceNum = 0;
|
|
|
+ for (String planId : planIds) {
|
|
|
+ List<ProducePlanAuditCheckDTO> auditCheckDTOList = producePlanAuditMap.get(planId);
|
|
|
+ Integer yesterdayAuditNum = 0, yesterdayAuditPassNum = 0, waitingAuditNum = 0, yesterdayAuditFailNum = 0;
|
|
|
+ if (CollectionUtils.isNotEmpty(auditCheckDTOList)) {
|
|
|
+ for (ProducePlanAuditCheckDTO producePlanAuditCheckDTO : auditCheckDTOList) {
|
|
|
+ if (Objects.equals(producePlanAuditCheckDTO.getAuditStatus(), ProduceContentAuditStatusEnum.waiting.getVal())) {
|
|
|
+ waitingAuditNum = producePlanAuditCheckDTO.getNum();
|
|
|
+ totalWaitingAuditNum += waitingAuditNum;
|
|
|
+ } else if (Objects.equals(producePlanAuditCheckDTO.getAuditStatus(), ProduceContentAuditStatusEnum.pass.getVal())) {
|
|
|
+ yesterdayAuditPassNum = producePlanAuditCheckDTO.getNum();
|
|
|
+ totalAuditPassNum += yesterdayAuditPassNum;
|
|
|
+ yesterdayAuditNum += producePlanAuditCheckDTO.getNum();
|
|
|
+ totalAuditNum += yesterdayAuditNum;
|
|
|
+ } else if (Objects.equals(producePlanAuditCheckDTO.getAuditStatus(), ProduceContentAuditStatusEnum.reject.getVal())) {
|
|
|
+ yesterdayAuditNum += producePlanAuditCheckDTO.getNum();
|
|
|
+ totalAuditNum += yesterdayAuditNum;
|
|
|
+ yesterdayAuditFailNum += producePlanAuditCheckDTO.getNum();
|
|
|
+ totalAuditFailNum += yesterdayAuditFailNum;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Integer produceCount = producePlanProduceMap.getOrDefault(planId, 0);
|
|
|
+ totalProduceNum += produceCount;
|
|
|
+ ProducePlanAuditExport export = new ProducePlanAuditExport();
|
|
|
+ export.setDateStr(dateStr);
|
|
|
+ export.setPlanName(producePlanMap.get(planId));
|
|
|
+ export.setProduceCount(produceCount);
|
|
|
+ export.setAuditCount(yesterdayAuditNum);
|
|
|
+ export.setAuditPassCount(yesterdayAuditPassNum);
|
|
|
+ export.setHisNotAuditCount(waitingAuditNum);
|
|
|
+ export.setAuditFailCount(yesterdayAuditFailNum);
|
|
|
+ exportList.add(export);
|
|
|
+ }
|
|
|
+ ProducePlanAuditExport sum = new ProducePlanAuditExport();
|
|
|
+ sum.setDateStr(dateStr);
|
|
|
+ sum.setPlanName("SUM");
|
|
|
+ sum.setProduceCount(totalProduceNum);
|
|
|
+ sum.setAuditCount(totalAuditNum);
|
|
|
+ sum.setAuditPassCount(totalAuditPassNum);
|
|
|
+ sum.setHisNotAuditCount(totalWaitingAuditNum);
|
|
|
+ sum.setAuditFailCount(totalAuditFailNum);
|
|
|
+ exportList.add(0, sum);
|
|
|
+ return exportList;
|
|
|
+ }
|
|
|
+
|
|
|
}
|