Explorar el Código

供应商数据展示

huangzhiguo hace 1 año
padre
commit
85790ca75c
Se han modificado 25 ficheros con 1035 adiciones y 0 borrados
  1. 60 0
      src/main/java/com/caimei365/manager/entity/caimei/test/ArticleReadVolume.java
  2. 29 0
      src/main/java/com/caimei365/manager/entity/caimei/test/IdentityDistribution.java
  3. 45 0
      src/main/java/com/caimei365/manager/entity/caimei/test/Impressions.java
  4. 29 0
      src/main/java/com/caimei365/manager/entity/caimei/test/IntentionalDistribution.java
  5. 26 0
      src/main/java/com/caimei365/manager/entity/caimei/test/Keyword.java
  6. 35 0
      src/main/java/com/caimei365/manager/entity/caimei/test/MallHits.java
  7. 29 0
      src/main/java/com/caimei365/manager/entity/caimei/test/PageDuration.java
  8. 39 0
      src/main/java/com/caimei365/manager/entity/caimei/test/Proportion.java
  9. 50 0
      src/main/java/com/caimei365/manager/entity/caimei/test/ReadVolume.java
  10. 29 0
      src/main/java/com/caimei365/manager/entity/caimei/test/Remark.java
  11. 29 0
      src/main/java/com/caimei365/manager/entity/caimei/test/TypeDistribution.java
  12. 35 0
      src/main/java/com/caimei365/manager/entity/caimei/test/Visits.java
  13. 58 0
      src/main/java/com/caimei365/manager/service/caimei/listener/ArticleReadVolumeListener.java
  14. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/IdentityDistributionListener.java
  15. 56 0
      src/main/java/com/caimei365/manager/service/caimei/listener/ImpressionsListener.java
  16. 46 0
      src/main/java/com/caimei365/manager/service/caimei/listener/IntentionalDistributionListener.java
  17. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/MallHitsListener.java
  18. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/PageDurationListener.java
  19. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/ProportionListener.java
  20. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/ReadVolumeListener.java
  21. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/RemarkListener.java
  22. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/ShopkeywordListener.java
  23. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/TypeDistributionListener.java
  24. 47 0
      src/main/java/com/caimei365/manager/service/caimei/listener/VisitsLisener.java
  25. 17 0
      src/test/java/com/caimei365/manager/ManagerApplicationTests.java

+ 60 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/ArticleReadVolume.java

@@ -0,0 +1,60 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  推文阅读量
+ *
+ * @author : hzg
+ * @date : 2023/11/22
+ */
+@Data
+public class ArticleReadVolume {
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private Integer shopId;
+    /**
+     * 发文主题
+     */
+    @ExcelProperty("发文主题")
+    private String title;
+    /**
+     * 跳转链接
+     */
+    @ExcelProperty("跳转链接")
+    private String link;
+    /**
+     * 类型
+     */
+    @ExcelProperty("类型")
+    private String type;
+    /**
+     * 首发时间
+     */
+    @ExcelProperty("首发时间")
+    private String startTime;
+    /**
+     * 文章关键词
+     */
+    @ExcelProperty("文章关键词")
+    private String keyword;
+    /**
+     * 分发渠道
+     */
+    @ExcelProperty("分发渠道")
+    private String channel;
+    /**
+     * 公众号阅读量
+     */
+    @ExcelProperty("公众号阅读量")
+    private String wechatNumber;
+    /**
+     * 触达用户量
+     */
+    @ExcelProperty("触达用户量")
+    private String touchNumber;
+
+}

+ 29 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/IdentityDistribution.java

@@ -0,0 +1,29 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  用户身份分布
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class IdentityDistribution {
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 客户身份
+     */
+    @ExcelProperty("客户身份")
+    private String userIdentity;
+    /**
+     * 占比
+     */
+    @ExcelProperty("占比")
+    private String proportion;
+}

+ 45 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/Impressions.java

@@ -0,0 +1,45 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  展现量
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class Impressions {
+
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 官网
+     */
+    @ExcelProperty("官网")
+    private String websiteNumber;
+    /**
+     * 公众号
+     */
+    @ExcelProperty("公众号")
+    private String generalNumber;
+    /**
+     * 微博
+     */
+    @ExcelProperty("微博")
+    private String twitter;
+    /**
+     * 小红书
+     */
+    @ExcelProperty("小红书")
+    private String redBookNumber;
+    /**
+     * 其它自媒体渠道
+     */
+    @ExcelProperty("其它自媒体渠道")
+    private String otherNumber;
+}

+ 29 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/IntentionalDistribution.java

@@ -0,0 +1,29 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  用户意向分布
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class IntentionalDistribution {
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 咨询客户意向度
+     */
+    @ExcelProperty("咨询客户意向度")
+    private String intention;
+    /**
+     * 占比
+     */
+    @ExcelProperty("占比")
+    private String proportion;
+}

+ 26 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/Keyword.java

@@ -0,0 +1,26 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import lombok.Data;
+
+/**
+ * Description  关键词
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class Keyword {
+
+    /**
+     * 供应商Id
+     */
+    private String shopId;
+    /**
+     * 关键词
+     */
+    private String keyword;
+    /**
+     * 站内搜索次数
+     */
+    private String number;
+}

+ 35 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/MallHits.java

@@ -0,0 +1,35 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  全商城点击量
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class MallHits {
+
+    /**
+     * 供应商Id
+      */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 广告位置
+     */
+    @ExcelProperty("广告位置")
+    private String position;
+    /**
+     * 图片地址
+     */
+    @ExcelProperty("图片地址")
+    private String imageLink;
+    /**
+     * 点击量
+     */
+    @ExcelProperty("点击量")
+    private String hits;
+}

+ 29 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/PageDuration.java

@@ -0,0 +1,29 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  页面平均时长
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class PageDuration {
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 页面类型
+     */
+    @ExcelProperty("页面类型")
+    private String pageLabel;
+    /**
+     * 平均停留时间
+     */
+    @ExcelProperty("平均停留时间")
+    private String accessDuration;
+}

+ 39 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/Proportion.java

@@ -0,0 +1,39 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  用户来源渠道占比
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class Proportion {
+    /**
+     * 供应商Id
+      */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 日期
+     */
+    @ExcelProperty("日期")
+    private String dateTime;
+    /**
+     * 采美商城
+     */
+    @ExcelProperty("采美商城")
+    private String mall;
+    /**
+     * 微信公众号
+     */
+    @ExcelProperty("微信公众号")
+    private String general;
+    /**
+     * 小红书
+     */
+    @ExcelProperty("小红书")
+    private String redBook;
+}

+ 50 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/ReadVolume.java

@@ -0,0 +1,50 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  阅读量
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class ReadVolume {
+
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 日期
+     */
+    @ExcelProperty("日期")
+    private String dateTime;
+    /**
+     * 信息中心
+     */
+    @ExcelProperty("信息中心")
+    private String informationCenter;
+    /**
+     * 公众号
+     */
+    @ExcelProperty("公众号")
+    private String accNumber;
+    /**
+     * 微博
+     */
+    @ExcelProperty("微博")
+    private String generalNumber;
+    /**
+     * 小红书
+     */
+    @ExcelProperty("小红书")
+    private String redBookNumber;
+    /**
+     * 其它自媒体渠道
+     */
+    @ExcelProperty("其它自媒体渠道")
+    private String other;
+}

+ 29 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/Remark.java

@@ -0,0 +1,29 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  咨询数量
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class Remark {
+    /**
+     * 供应商Id
+      */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 日期
+     */
+    @ExcelProperty("日期")
+    private String dateTime;
+    /**
+     * 咨询数量
+     */
+    @ExcelProperty("咨询数量")
+    private String remarkNumber;
+}

+ 29 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/TypeDistribution.java

@@ -0,0 +1,29 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  用户类型分布
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class TypeDistribution {
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 机构类型
+     */
+    @ExcelProperty("机构类型")
+    private String clubType;
+    /**
+     * 占比
+     */
+    @ExcelProperty("占比")
+    private String proportion;
+}

+ 35 - 0
src/main/java/com/caimei365/manager/entity/caimei/test/Visits.java

@@ -0,0 +1,35 @@
+package com.caimei365.manager.entity.caimei.test;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+/**
+ * Description  访问量
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+@Data
+public class Visits {
+
+    /**
+     * 供应商Id
+     */
+    @ExcelProperty("供应商Id")
+    private String shopId;
+    /**
+     * 日期
+     */
+    @ExcelProperty("日期")
+    private String dateTime;
+    /**
+     * 机构访问量
+     */
+    @ExcelProperty("机构访问量")
+    private String clubNumber;
+    /**
+     * 游客访问量
+     */
+    @ExcelProperty("游客访问量")
+    private String touristNumber;
+}

+ 58 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/ArticleReadVolumeListener.java

@@ -0,0 +1,58 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.ArticleReadVolume;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/22
+ */
+@Slf4j
+public class ArticleReadVolumeListener extends AnalysisEventListener<ArticleReadVolume> {
+
+    private final Integer SIZE = 100;
+
+    private final List<ArticleReadVolume> dataList = new ArrayList();
+
+    /**
+     * 数据解析
+     * @param data
+     * @param analysisContext
+     */
+    @Override
+    public void invoke(ArticleReadVolume data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    /**
+     * 解析完成调用
+     * @param analysisContext
+     */
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------推文阅读量----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/IdentityDistributionListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.IdentityDistribution;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class IdentityDistributionListener extends AnalysisEventListener<IdentityDistribution> {
+
+    private final Integer SIZE = 100;
+
+    private final List<IdentityDistribution> dataList = new ArrayList();
+
+    @Override
+    public void invoke(IdentityDistribution data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------用户身份分布----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 56 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/ImpressionsListener.java

@@ -0,0 +1,56 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.Impressions;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class ImpressionsListener extends AnalysisEventListener<Impressions> {
+
+    private final Integer SIZE = 100;
+
+    private final List<Impressions> dataList = new ArrayList();
+
+    /**
+     * 解析数据
+     * @param data
+     * @param analysisContext
+     */
+    @Override
+    public void invoke(Impressions data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    /**
+     * 解析数据后调用
+     * @param analysisContext
+     */
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------展现量----------");
+        System.out.println("dataList====="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 46 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/IntentionalDistributionListener.java

@@ -0,0 +1,46 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.IntentionalDistribution;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class IntentionalDistributionListener extends AnalysisEventListener<IntentionalDistribution> {
+
+    private final Integer SIZE = 100;
+
+    private final List<IntentionalDistribution> dataList = new ArrayList();
+    @Override
+    public void invoke(IntentionalDistribution data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------用户身份分布----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/MallHitsListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.MallHits;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class MallHitsListener extends AnalysisEventListener<MallHits> {
+
+    private final Integer SIZE = 100;
+
+    private final List<MallHits> dataList = new ArrayList();
+
+    @Override
+    public void invoke(MallHits data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------全商城点击量----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/PageDurationListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.PageDuration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class PageDurationListener extends AnalysisEventListener<PageDuration> {
+
+    private final Integer SIZE = 100;
+
+    private final List<PageDuration> dataList = new ArrayList();
+
+    @Override
+    public void invoke(PageDuration data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------页面平均时长----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/ProportionListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.Proportion;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class ProportionListener extends AnalysisEventListener<Proportion> {
+
+    private final Integer SIZE = 100;
+
+    private final List<Proportion> dataList = new ArrayList();
+
+    @Override
+    public void invoke(Proportion data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------用户来源渠道占比----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/ReadVolumeListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.ReadVolume;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class ReadVolumeListener extends AnalysisEventListener<ReadVolume> {
+
+    private final Integer SIZE = 100;
+
+    private final List<ReadVolume> dataList = new ArrayList();
+
+    @Override
+    public void invoke(ReadVolume data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        if (dataList.size() >= SIZE) {
+            saveData();
+        }
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------阅读量----------");
+        System.out.println("dataList======"+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/RemarkListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.Remark;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class RemarkListener extends AnalysisEventListener<Remark> {
+
+    private final Integer SIZE = 100;
+
+    private final List<Remark> dataList = new ArrayList();
+
+    @Override
+    public void invoke(Remark data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------咨询数量----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/ShopkeywordListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.Keyword;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class ShopkeywordListener extends AnalysisEventListener<Keyword> {
+
+    private final Integer SIZE = 100;
+
+    private final List<Keyword> dataList = new ArrayList();
+
+    @Override
+    public void invoke(Keyword data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------关键词----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/TypeDistributionListener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.TypeDistribution;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class TypeDistributionListener extends AnalysisEventListener<TypeDistribution> {
+
+    private final Integer SIZE = 100;
+
+    private final List<TypeDistribution> dataList = new ArrayList();
+
+    @Override
+    public void invoke(TypeDistribution data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------用户类型分布----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 47 - 0
src/main/java/com/caimei365/manager/service/caimei/listener/VisitsLisener.java

@@ -0,0 +1,47 @@
+package com.caimei365.manager.service.caimei.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.caimei365.manager.entity.caimei.test.Visits;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : hzg
+ * @date : 2023/11/23
+ */
+public class VisitsLisener extends AnalysisEventListener<Visits> {
+
+    private final Integer SIZE = 100;
+
+    private final List<Visits> dataList = new ArrayList();
+
+    @Override
+    public void invoke(Visits data, AnalysisContext analysisContext) {
+        dataList.add(data);
+        /*if (dataList.size() >= SIZE) {
+            saveData();
+        }*/
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        System.out.println("-----------访问量----------");
+        System.out.println("dataList======="+dataList);
+    }
+
+    @Override
+    public boolean hasNext(AnalysisContext analysisContext) {
+        return true;
+    }
+
+    /**
+     * 保存数据
+     */
+    public void saveData() {
+
+    }
+}

+ 17 - 0
src/test/java/com/caimei365/manager/ManagerApplicationTests.java

@@ -1,5 +1,8 @@
 package com.caimei365.manager;
 
+import com.alibaba.excel.EasyExcel;
+import com.caimei365.manager.entity.caimei.test.*;
+import com.caimei365.manager.service.caimei.listener.*;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
@@ -8,6 +11,20 @@ class ManagerApplicationTests {
 
     @Test
     void contextLoads() {
+        String fileName = "E:\\Users\\Desktop\\采美\\shop-xlsx\\test.xlsx";
+
+        EasyExcel.read(fileName, ArticleReadVolume.class, new ArticleReadVolumeListener()).sheet("推文阅读量").doRead();
+        EasyExcel.read(fileName, Impressions.class, new ImpressionsListener()).sheet("展现量").doRead();
+        EasyExcel.read(fileName, ReadVolume.class, new ReadVolumeListener()).sheet("阅读量").doRead();
+        EasyExcel.read(fileName, Keyword.class, new ShopkeywordListener()).sheet("关键词").doRead();
+        EasyExcel.read(fileName, Visits.class, new VisitsLisener()).sheet("访问量").doRead();
+        EasyExcel.read(fileName, Proportion.class, new ProportionListener()).sheet("用户来源渠道占比").doRead();
+        EasyExcel.read(fileName, PageDuration.class, new PageDurationListener()).sheet("页面平均时长").doRead();
+        EasyExcel.read(fileName, MallHits.class, new MallHitsListener()).sheet("全商城点击量").doRead();
+        EasyExcel.read(fileName, Remark.class, new RemarkListener()).sheet("咨询数量").doRead();
+        EasyExcel.read(fileName, TypeDistribution.class, new TypeDistributionListener()).sheet("用户类型分布").doRead();
+        EasyExcel.read(fileName, IdentityDistribution.class, new IdentityDistributionListener()).sheet("用户身份分布").doRead();
+        EasyExcel.read(fileName, IntentionalDistribution.class, new IntentionalDistributionListener()).sheet("用户意向分布").doRead();
     }
 
 }