|
@@ -3495,4 +3495,88 @@ public class DataDashboardService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @XxlJob("dailyAuditProduceExport")
|
|
|
+ public ReturnT<String> dailyAuditProduceJob(String param) {
|
|
|
+ List<String> dateStrList = DateUtils.getBeforeDays(null, null, 1);
|
|
|
+ contentEffectGroupBySource(dateStrList);
|
|
|
+ return ReturnT.SUCCESS;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void dailyAuditProduce(String dateStr) {
|
|
|
+ if (!StringUtils.hasText(dateStr)) {
|
|
|
+ dateStr = DateUtils.getBeforeDaysDateStr("yyyyMMdd", 1);
|
|
|
+ }
|
|
|
+ dailyAuditProduce(Collections.singletonList(dateStr));
|
|
|
+ }
|
|
|
+
|
|
|
+ public void dailyAuditProduce(List<String> dateStrList) {
|
|
|
+ List<DailyAuditProduceExport> exportList = new ArrayList<>();
|
|
|
+ dateStrList = Lists.reverse(dateStrList);
|
|
|
+ for (String dateStr : dateStrList) {
|
|
|
+ exportList.addAll(buildDailyAuditProduceExport(dateStr));
|
|
|
+ }
|
|
|
+ if (CollectionUtil.isEmpty(exportList)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ int rowNum = exportList.size();
|
|
|
+ List<List<Object>> rows = new ArrayList<>();
|
|
|
+ Field[] fields = DailyAuditProduceExport.class.getDeclaredFields();
|
|
|
+ for (DailyAuditProduceExport 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());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Pair<String, String>> styles = Arrays
|
|
|
+ .asList(
|
|
|
+ Pair.of("F", "0.00%"),
|
|
|
+ Pair.of("I", "0.00%")
|
|
|
+ );
|
|
|
+ List<Pair<String, List<Pair<String, String>>>> thank = Arrays
|
|
|
+ .asList(
|
|
|
+ Pair.of("B", Arrays.asList(
|
|
|
+ Pair.of("长文审核", "#BACEFD"),
|
|
|
+ Pair.of("文章内容池", "#FED4A4")))
|
|
|
+ );
|
|
|
+ doSendFeishuSheet(dateStrList, dailyDetailSheetToken, "Lushkl", rowNum, rows,
|
|
|
+ 3, styles, null, thank);
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<DailyAuditProduceExport> buildDailyAuditProduceExport(String dateStr) {
|
|
|
+ Long startTimeStamp = DateUtils.getStartOfDay(dateStr, "yyyyMMdd") * 1000;
|
|
|
+ Long endTimeStamp = startTimeStamp + 86400000;
|
|
|
+ List<DailyAuditProduceExport> result = new ArrayList<>();
|
|
|
+ List<DailyAuditProduceExport> produceAuditList = aigcBaseMapper.getAccountDailyProduceAuditCount(startTimeStamp, endTimeStamp);
|
|
|
+ List<DailyAuditProduceExport> videoAuditList = longArticleBaseMapper.getAccountDailyVideoAuditCount(startTimeStamp, endTimeStamp);
|
|
|
+ for (DailyAuditProduceExport dailyAuditProduceExport : produceAuditList) {
|
|
|
+ dailyAuditProduceExport.setType("长文审核");
|
|
|
+ result.add(dailyAuditProduceExport);
|
|
|
+ }
|
|
|
+ for (DailyAuditProduceExport dailyAuditProduceExport : videoAuditList) {
|
|
|
+ dailyAuditProduceExport.setType("文章内容池");
|
|
|
+ result.add(dailyAuditProduceExport);
|
|
|
+ }
|
|
|
+ for (DailyAuditProduceExport item : result) {
|
|
|
+ item.setDateStr(dateStr);
|
|
|
+ if (item.getAuditCount()!= null && item.getAuditCount()!= 0) {
|
|
|
+ item.setAuditPassRate((double) item.getAuditPassCount() / item.getAuditCount());
|
|
|
+ }
|
|
|
+ if (item.getVideoAuditCount()!= null && item.getVideoAuditCount()!= 0) {
|
|
|
+ item.setVideoAuditPassRate((double) item.getVideoAuditPassCount() / item.getVideoAuditCount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|