浏览代码

销售线索文件上传

yangzian 3 年之前
父节点
当前提交
04065bfe86

+ 9 - 6
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/service/impl/SaleClueInfoServiceImpl.java

@@ -129,26 +129,29 @@ public class SaleClueInfoServiceImpl implements ISaleClueInfoService {
             SaleQuotaInfoPojo quota = new SaleQuotaInfoPojo();
 
             clue.setSalesLeadsType(salesLeadsType);
+            if (dataMap.get("sellerId").isEmpty()){
+                continue;
+            }
             clue.setSellerId(Long.valueOf(dataMap.get("sellerId")));
             clue.setSellerName(dataMap.get("sellerName"));
             clue.setFans(Long.valueOf(dataMap.get("fans")));
-            clue.setTelephone(Long.valueOf(dataMap.get("telephone")));
+            clue.setTelephone( dataMap.get("telephone").isEmpty() ? 0 : Long.valueOf(dataMap.get("telephone")));
             clue.setProviderFlag(dataMap.get("providerFlag").equals("否") ? 0 : 1);
-            clue.setTransitionFlag(Integer.valueOf(dataMap.get("transitionFlag")));
+            clue.setTransitionFlag(dataMap.get("transitionFlag") == null ? 0 : Integer.valueOf(dataMap.get("transitionFlag")));
             clue.setCreateUserId(createUserId);
             //查询行业
             SysIndustryInfo industryInfo = sysIndustryInfoMapper.getIndustryInfoByName(dataMap.get("industryId"));
             clue.setIndustryId(StringUtils.isNull(industryInfo) ? 0 : industryInfo.getId());
             //根据城市查询 省市id
             SysAreaInfo areaInfo = sysAreaInfoMapper.getAreaInfoByName(dataMap.get("cityId"));
-            clue.setProvinceId(areaInfo.getParentCode());
-            clue.setCityId(areaInfo.getCode());
+            clue.setProvinceId(areaInfo == null ? 0 : areaInfo.getParentCode());
+            clue.setCityId(areaInfo == null ? 0 : areaInfo.getCode());
 
             quota.setNearlyThirtyDays(dataMap.get("NearlyThirtyDays"));
-            quota.setGmvMonth(Long.valueOf(dataMap.get("gmvMonth")));
+            quota.setGmvMonth(dataMap.get("gmvMonth") == null ? 0 : Long.valueOf(dataMap.get("gmvMonth")));
             quota.setGmv(dataMap.get("gmv"));
 
-            quota.setMtdDate(Long.valueOf(dataMap.get("mtdDate")));
+            quota.setMtdDate(dataMap.get("mtdDate") == null ? 0 : Long.valueOf(dataMap.get("mtdDate")));
             quota.setMtd(dataMap.get("mtd"));
             quota.setCreateUserId(createUserId);
             quota.setSellerId(Long.valueOf(dataMap.get("sellerId")));

+ 42 - 63
ruixuan-salesLeads/src/main/java/com.ruixuan.salesLeads/utils/CsvImportUtil.java

@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
+import java.io.InputStreamReader;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -42,7 +43,9 @@ public class CsvImportUtil {
         csvReader.setContainsHeader(true);
 
         CsvContainer csv = csvReader.read(file, StandardCharsets.UTF_8);
-        //log.info("csv====>>>{}",csv.getRows());
+
+
+        log.info("csv====>>>{}",csv.getRows());
 
         //行数据
         List<CsvRow> rows = csv.getRows();
@@ -58,78 +61,54 @@ public class CsvImportUtil {
             Map<String,String> rowMap = rows.get(i).getFieldMap();
 
             rowMap.forEach((key,vlue)->{
-                System.out.println(key);
-                key = key.replace("\"","");
-                switch (key){
 
 
-                    case "卖家昵称":
-
-                        objectMap.put("sellerName",vlue);
-                        break;
+                System.out.println(key);
 
+                String keyStr = key;
 
-                    case "粉丝数":
+                if (StringUtils.isNotNull(keyStr)){
 
+                    if (keyStr.contains("家ID")){
+                        objectMap.put("sellerId",vlue);
+                    }
+                    if (keyStr.contains("昵称")){
+                        objectMap.put("sellerName",vlue);
+                    }
+                    if (keyStr.contains("粉丝")){
                         objectMap.put("fans",vlue);
-                        break;
-
-                    case "所属行业":
-
+                    }
+                    if (keyStr.contains("行业")){
                         objectMap.put("industryId",vlue);
-                        break;
-
-
-                    case "常驻省份":
-
+                    }
+                    if (keyStr.contains("省份")){
                         objectMap.put("provinceId",vlue);
-                        break;
-
-
-                    case "常驻城市":
-
+                    }
+                    if (keyStr.contains("城市")){
                         objectMap.put("cityId",vlue);
-                        break;
-
-
-                    case "联系方式":
-
+                    }
+                    if (keyStr.contains("联系")){
                         objectMap.put("telephone",vlue);
-                        break;
-
-
-                    case "卖家是否绑定服务商":
-
-                        objectMap.put("providerFlag", StringUtils.isEmpty(vlue) ? "否" : vlue);
-                        break;
-
-                    case "是否跃迁":
-
-                        objectMap.put("transitionFlag",StringUtils.isEmpty(vlue) ? "0" : vlue);
-                        break;
-
-
-                }
-
-
-                if ((key).contains("家ID")){
-                    objectMap.put("sellerId",vlue);
-                }
-
-
-
-                if ((key).contains("30天")){
-                    objectMap.put("NearlyThirtyDays",vlue);
-                }
-
-                if ((key).contains("gmv")){
-                    objectMap.put("gmvMonth",key.substring(0,key.indexOf("gmv")));
-                    objectMap.put("gmv",vlue);
-                }
-
-                if (key.contains("mtd")){
-                    objectMap.put("mtdDate",key.substring(0,key.indexOf("mtd")));
-                    objectMap.put("mtd",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);
+                    }
                 }
 
 

+ 26 - 55
ruixuan-salesLeads/src/main/java/com/ruixuan/salesLeads/listener/ImportExcelListener.java

@@ -46,64 +46,35 @@ public class ImportExcelListener extends AnalysisEventListener<Map<Integer, Stri
             Object mapKey = importHeadList.get(key);
             if (StringUtils.isNotNull(mapKey)){
 
-
                 String keyStr = (String)mapKey;
 
-                switch (keyStr){
-                    case "卖家ID":
-
-                        ObjectMap.put("sellerId",vlue);
-                        break;
-
-
-                    case "卖家昵称":
-
-                        ObjectMap.put("sellerName",vlue);
-                        break;
-
-
-                    case "粉丝数":
-
-                        ObjectMap.put("fans",vlue);
-                        break;
-
-                    case "所属行业":
-
-                        ObjectMap.put("industryId",vlue);
-                        break;
-
-
-                    case "常驻省份":
-
-                        ObjectMap.put("provinceId",vlue);
-                        break;
-
-
-                    case "常驻城市":
-
-                        ObjectMap.put("cityId",vlue);
-                        break;
-
-
-                    case "联系方式":
-
-                        ObjectMap.put("telephone",vlue);
-                        break;
-
-
-                    case "卖家是否绑定服务商":
-
-                        ObjectMap.put("providerFlag",StringUtils.isEmpty(vlue) ? "否" : vlue);
-                        break;
-
-                    case "是否跃迁":
-
-                        ObjectMap.put("transitionFlag",StringUtils.isEmpty(vlue) ? "0" : vlue);
-                        break;
-
+                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);
                 }