Browse Source

Merge branch '20250408-wyp-contentPlatform' of Server/growth-manager into master

wangyunpeng 2 months ago
parent
commit
85b5c8e215

+ 33 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/vo/contentplatform/GzhTotalDatastatItemExportVO.java

@@ -0,0 +1,33 @@
+package com.tzld.piaoquan.api.model.vo.contentplatform;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(20)//宽
+@HeadRowHeight(50)//表头高
+@ContentRowHeight(25)//正文行高
+public class GzhTotalDatastatItemExportVO {
+
+    @ExcelProperty("日期")
+    private String dateStr;
+
+    @ExcelProperty("新增粉丝数")
+    private Integer fansIncreaseCount;
+
+    @ExcelProperty("小程序访问人数")
+    private Integer firstLevel;
+
+    @ExcelProperty("打开率")
+    private Double openRate;
+
+    @ExcelProperty("传播得分")
+    private Double score;
+}

+ 0 - 3
api-module/src/main/java/com/tzld/piaoquan/api/model/vo/contentplatform/QwDatastatItemExportVO.java

@@ -19,9 +19,6 @@ public class QwDatastatItemExportVO {
     @ExcelProperty("日期")
     private String dateStr;
 
-    @ExcelProperty("小程序访问人数")
-    private Integer firstLevel;
-
     @ExcelProperty("传播得分")
     private Double score;
 

+ 27 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/vo/contentplatform/QwGroupDatastatItemExportVO.java

@@ -0,0 +1,27 @@
+package com.tzld.piaoquan.api.model.vo.contentplatform;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ColumnWidth(20)//宽
+@HeadRowHeight(50)//表头高
+@ContentRowHeight(25)//正文行高
+public class QwGroupDatastatItemExportVO {
+
+    @ExcelProperty("日期")
+    private String dateStr;
+
+    @ExcelProperty("小程序访问人数")
+    private Integer firstLevel;
+
+    @ExcelProperty("传播得分")
+    private Double score;
+}

+ 47 - 8
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformDatastatServiceImpl.java

@@ -8,10 +8,7 @@ import com.tzld.piaoquan.api.model.config.LoginUserContext;
 import com.tzld.piaoquan.api.model.param.contentplatform.GzhDatastatListParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.QwDatastatListParam;
 import com.tzld.piaoquan.api.model.po.contentplatform.*;
-import com.tzld.piaoquan.api.model.vo.contentplatform.GzhDatastatItemExportVO;
-import com.tzld.piaoquan.api.model.vo.contentplatform.GzhDatastatItemVO;
-import com.tzld.piaoquan.api.model.vo.contentplatform.QwDatastatItemExportVO;
-import com.tzld.piaoquan.api.model.vo.contentplatform.QwDatastatItemVO;
+import com.tzld.piaoquan.api.model.vo.contentplatform.*;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformCooperateAccountService;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformDatastatService;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformPlanService;
@@ -237,7 +234,29 @@ public class ContentPlatformDatastatServiceImpl implements ContentPlatformDatast
         param.setPageSize(10000);
         Page<GzhDatastatItemVO> pageResult = gzhDatastatList(param);
         List<GzhDatastatItemVO> dataList = pageResult.getObjs();
-        return generateGzhDatastatExcelFile(dataList);
+        if (param.getType() == 1) {
+            return generateGzhDatastatExcelFile(dataList);
+        } else {
+            return generateTotalGzhDatastatExcelFile(dataList);
+        }
+    }
+
+    public String generateTotalGzhDatastatExcelFile(List<GzhDatastatItemVO> dataList) {
+        ArrayList<GzhTotalDatastatItemExportVO> list = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(dataList)) {
+            for (GzhDatastatItemVO data : dataList) {
+                list.add(new GzhTotalDatastatItemExportVO(data.getDateStr(), data.getFansIncreaseCount(),
+                        data.getFirstLevel(), data.getOpenRate(), data.getScore()));
+            }
+        } else {
+            list.add(new GzhTotalDatastatItemExportVO());
+        }
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        EasyExcel.write(out, GzhTotalDatastatItemExportVO.class).sheet("").doWrite(list);
+        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(out.toByteArray());
+        String fileName = "公众号数据统计_" + System.currentTimeMillis() + ".xls";
+        AliOssFileTool.saveInPublicReturnHost(byteArrayInputStream, EnumPublicBuckets.PUBBUCKET, fileName, EnumFileType.TEMP_PICTURE);
+        return CdnUtil.DOWNLOAD_CDN_URL_HOST_PICTURE + fileName;
     }
 
     public String generateGzhDatastatExcelFile(List<GzhDatastatItemVO> dataList) {
@@ -264,15 +283,18 @@ public class ContentPlatformDatastatServiceImpl implements ContentPlatformDatast
         param.setPageSize(10000);
         Page<QwDatastatItemVO> pageResult = qwDatastatList(param);
         List<QwDatastatItemVO> dataList = pageResult.getObjs();
-        return generateQwDatastatExcelFile(dataList);
+        if (param.getType() == 4) {
+            return generateQwDatastatExcelFile(dataList);
+        } else {
+            return generateGroupQwDatastatExcelFile(dataList);
+        }
     }
 
     public String generateQwDatastatExcelFile(List<QwDatastatItemVO> dataList) {
         ArrayList<QwDatastatItemExportVO> list = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(dataList)) {
             for (QwDatastatItemVO data : dataList) {
-                list.add(new QwDatastatItemExportVO(data.getDateStr(), data.getFirstLevel(),
-                        data.getScore(), data.getTitle(), data.getVideoId()));
+                list.add(new QwDatastatItemExportVO(data.getDateStr(), data.getScore(), data.getTitle(), data.getVideoId()));
             }
         } else {
             list.add(new QwDatastatItemExportVO());
@@ -284,4 +306,21 @@ public class ContentPlatformDatastatServiceImpl implements ContentPlatformDatast
         AliOssFileTool.saveInPublicReturnHost(byteArrayInputStream, EnumPublicBuckets.PUBBUCKET, fileName, EnumFileType.TEMP_PICTURE);
         return CdnUtil.DOWNLOAD_CDN_URL_HOST_PICTURE + fileName;
     }
+
+    public String generateGroupQwDatastatExcelFile(List<QwDatastatItemVO> dataList) {
+        ArrayList<QwGroupDatastatItemExportVO> list = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(dataList)) {
+            for (QwDatastatItemVO data : dataList) {
+                list.add(new QwGroupDatastatItemExportVO(data.getDateStr(), data.getFirstLevel(), data.getScore()));
+            }
+        } else {
+            list.add(new QwGroupDatastatItemExportVO());
+        }
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        EasyExcel.write(out, QwGroupDatastatItemExportVO.class).sheet("").doWrite(list);
+        ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(out.toByteArray());
+        String fileName = "企微数据统计_" + System.currentTimeMillis() + ".xls";
+        AliOssFileTool.saveInPublicReturnHost(byteArrayInputStream, EnumPublicBuckets.PUBBUCKET, fileName, EnumFileType.TEMP_PICTURE);
+        return CdnUtil.DOWNLOAD_CDN_URL_HOST_PICTURE + fileName;
+    }
 }