yangzian 3 年之前
父節點
當前提交
8f0ac4bdb4

+ 113 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/listener/ImportExcelListener.java

@@ -0,0 +1,113 @@
+package com.ruixuan.salesLeads.listener;
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.alibaba.fastjson.JSON;
+import com.ruixuan.common.utils.StringUtils;
+import org.apache.poi.ss.formula.functions.T;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: 销售线索excel 监听解析
+ * @CreateDate: 2022-05-24
+ * ****************************************************
+ */
+
+public class ImportExcelListener extends AnalysisEventListener<Map<Integer, String>> {
+
+
+    private static final Logger log = LoggerFactory.getLogger(ImportExcelListener.class);
+
+    public static List<Map<String,String>> importDataList = new ArrayList<>();
+
+    public static Map<Integer, String> importHeadList = new HashMap<>();
+
+
+
+    @Override
+    public void invoke(Map<Integer, String> data, AnalysisContext analysisContext) {
+
+        Map<String, String> ObjectMap = new HashMap<>();
+
+
+
+        log.info("解析到的一条数据=====excelRow = {}", JSON.toJSONString(data));
+
+        data.forEach((key,vlue) ->{
+            Object mapKey = importHeadList.get(key);
+            if (StringUtils.isNotNull(mapKey)){
+
+                String keyStr = (String)mapKey;
+
+                if (keyStr.contains("家ID")){
+                    ObjectMap.put("sellerId",vlue);
+                }
+                 if (keyStr.contains("昵称")){
+                    ObjectMap.put("sellerName",vlue);
+                }
+                if (keyStr.contains("粉丝")){
+                    ObjectMap.put("fans",vlue);
+                }
+                if (keyStr.contains("行业")){
+                    ObjectMap.put("industryId",vlue);
+                }
+                if (keyStr.contains("省份")){
+                    ObjectMap.put("provinceId",vlue);
+                }
+                if (keyStr.contains("城市")){
+                    ObjectMap.put("cityId",vlue);
+                }
+                if (keyStr.contains("联系")){
+                    ObjectMap.put("telephone",vlue);
+                }
+                if (keyStr.contains("服务商")){
+                    ObjectMap.put("providerFlag",StringUtils.isEmpty(vlue) ? "否" : vlue);
+                }
+                if (keyStr.contains("跃迁")){
+                    ObjectMap.put("transitionFlag",StringUtils.isEmpty(vlue) ? "否" : vlue);
+                }
+                if ((keyStr).contains("30天")){
+                    ObjectMap.put("NearlyThirtyDays",vlue);
+                }
+
+                if ((keyStr).contains("gmv")){
+                    ObjectMap.put("gmvMonth",keyStr.substring(0,keyStr.indexOf("gmv")));
+                    ObjectMap.put("gmv",vlue);
+                }
+
+                if (keyStr.contains("mtd")){
+                    ObjectMap.put("mtdDate",keyStr.substring(0,keyStr.indexOf("mtd")));
+                    ObjectMap.put("mtd",vlue);
+                }
+
+            }
+        });
+
+        importDataList.add(ObjectMap);
+
+
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        log.info("解析完所有数据===={}",importDataList);
+
+    }
+
+    @Override
+    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
+        log.info("表头数据===excelHead-->>>{}", headMap);
+        importHeadList.putAll(headMap);
+    }
+
+
+}

+ 34 - 0
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/pojo/TestPojo.java

@@ -0,0 +1,34 @@
+package com.ruixuan.salesLeads.pojo;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * ***************************************************
+ *
+ * @Auther: zianY
+ * @Descipion: demo-测试
+ * @CreateDate: 2022-05-19
+ * ****************************************************
+ */
+
+@Data
+@ApiModel(value = "testPojo", description = "测试demo")
+public class TestPojo {
+
+
+    @ApiModelProperty("用户ID")
+    private Long userId;
+
+    @ApiModelProperty("角色ID")
+    private Long roleId;
+
+    @ApiModelProperty("实体中的文件")
+    private MultipartFile file;
+
+}