Selaa lähdekoodia

盘手业务,导入数据bug修复

zhaoxian 3 vuotta sitten
vanhempi
commit
acd3d08182

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/IKuaishouLiveDataAnalysisService.java

@@ -61,5 +61,5 @@ public interface IKuaishouLiveDataAnalysisService {
      */
     public int deleteKuaishouLiveDataAnalysisByKsId(Long ksId);
 
-    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list);
+    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list) throws Exception;
 }

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/IKuaishouLiveDataFunnelService.java

@@ -61,5 +61,5 @@ public interface IKuaishouLiveDataFunnelService {
      */
     public int deleteKuaishouLiveDataFunnelByKsId(Long ksId);
 
-    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list);
+    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list) throws Exception;
 }

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/IKuaishouLiveDataKanbanService.java

@@ -61,5 +61,5 @@ public interface IKuaishouLiveDataKanbanService {
      */
     public int deleteKuaishouLiveDataKanbanByKsId(Long ksId);
 
-    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list);
+    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list) throws Exception;
 }

+ 1 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/IKuaishouLiveDataOverviewService.java

@@ -61,5 +61,5 @@ public interface IKuaishouLiveDataOverviewService {
      */
     public int deleteKuaishouLiveDataOverviewByKsId(Long ksId);
 
-    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list);
+    int inserExcelInfo(KuaishouLiveBroadcast broadcast,List<JSONObject> list) throws Exception;
 }

+ 2 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/impl/KuaishouLiveDataAnalysisServiceImpl.java

@@ -92,7 +92,7 @@ public class KuaishouLiveDataAnalysisServiceImpl implements IKuaishouLiveDataAna
     }
 
     @Override
-    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) {
+    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) throws Exception {
         /* excel表头:商品名称	商品上架时间	商品价格	商品销售额	商品销量	待支付订单数
            对应字段编码:0,1,2...
          */
@@ -119,6 +119,7 @@ public class KuaishouLiveDataAnalysisServiceImpl implements IKuaishouLiveDataAna
             }
         } catch (Exception e) {
             e.printStackTrace();
+            throw new Exception("商品分析数据列异常");
         }
         return 0;
     }

+ 2 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/impl/KuaishouLiveDataFunnelServiceImpl.java

@@ -92,7 +92,7 @@ public class KuaishouLiveDataFunnelServiceImpl implements IKuaishouLiveDataFunne
     }
 
     @Override
-    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) {
+    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) throws Exception {
          /* excel表头:日期	累计观看人数
            对应字段编码:0,1         */
         try {
@@ -113,6 +113,7 @@ public class KuaishouLiveDataFunnelServiceImpl implements IKuaishouLiveDataFunne
             }
         } catch (Exception e) {
             e.printStackTrace();
+            throw new Exception("直播漏斗数据列异常");
         }
         return 0;
     }

+ 2 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/impl/KuaishouLiveDataKanbanServiceImpl.java

@@ -92,7 +92,7 @@ public class KuaishouLiveDataKanbanServiceImpl implements IKuaishouLiveDataKanba
     }
 
     @Override
-    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) {
+    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) throws Exception {
       /* excel表头:实时在线观看人数	观看人数	观看次数	人均观看时长	粉丝平均观看时长	打赏数	上架商品数
       新增粉丝数	点赞数	商品点击人数	小黄车点击数	累计成交金额	累计成交人数	累计成交订单数	成交转化率
            对应字段编码:0,1,2....         */
@@ -128,6 +128,7 @@ public class KuaishouLiveDataKanbanServiceImpl implements IKuaishouLiveDataKanba
             }
         } catch (Exception e) {
             e.printStackTrace();
+            throw new Exception("直播数据看板数据列异常");
         }
         return 0;
     }

+ 2 - 1
ruixuan-live/src/main/java/com/ruixuan/data/service/impl/KuaishouLiveDataOverviewServiceImpl.java

@@ -92,7 +92,7 @@ public class KuaishouLiveDataOverviewServiceImpl implements IKuaishouLiveDataOve
     }
 
     @Override
-    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) {
+    public int inserExcelInfo(KuaishouLiveBroadcast broadcast, List<JSONObject> list) throws Exception {
         /* excel表头:日期	成交金额
         对应字段编码:0,1
         */
@@ -114,6 +114,7 @@ public class KuaishouLiveDataOverviewServiceImpl implements IKuaishouLiveDataOve
             }
         } catch (Exception e) {
             e.printStackTrace();
+            throw new Exception("直播数据概览数据列异常");
         }
         return 0;
 

+ 7 - 2
ruixuan-live/src/main/java/com/ruixuan/data/utils/ExportExcelUtils.java

@@ -310,7 +310,12 @@ public class ExportExcelUtils {
                         Date date = cell.getDateCellValue();
                         if (date != null) {
                             if (date.getHours() > 0 || date.getMinutes() > 0) {
-                                value = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
+                                value = new SimpleDateFormat("yyyy-MM-dd").format(date);
+                                if ("1899-12-31".equals(value)) {
+                                    value = new SimpleDateFormat("HH:mm:ss").format(date);
+                                } else {
+                                    value = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
+                                }
                             } else {
                                 value = new SimpleDateFormat("yyyy-MM-dd").format(date);
                             }
@@ -318,7 +323,7 @@ public class ExportExcelUtils {
                             value = "";
                         }
                     } else {
-                        value = new DecimalFormat("0.00").format(cell.getNumericCellValue()).replace(".00", "");
+                        value = new DecimalFormat("0.0000").format(cell.getNumericCellValue()).replace(".0000", "");
                     }
                     break;
                 case STRING: // 字符串

+ 3 - 0
ruixuan-live/src/main/java/com/ruixuan/data/utils/LiveDataExcelUtils.java

@@ -4,9 +4,12 @@ import cn.hutool.core.util.CharsetUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.ruixuan.common.utils.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 

+ 21 - 17
ruixuan-live/src/main/java/com/ruixuan/live/service/impl/KuaishouLiveBroadcastServiceImpl.java

@@ -178,26 +178,30 @@ public class KuaishouLiveBroadcastServiceImpl implements IKuaishouLiveBroadcastS
         String msg = "";
         //记录上传文件
         int count = 0;
-        if (!(Check.isNull(files) || "".equals(files[0].getOriginalFilename()))) {
-            for (MultipartFile file : files) {
-                String fileName = file.getOriginalFilename();
-                if (!(fileName.endsWith(".xls") || fileName.endsWith(".xlsx") || fileName.endsWith(".csv"))) {
-                    msg += fileName + "、";
-                    continue;
-                }
-                List<JSONObject> list = LiveDataExcelUtils.analysisFile(file, fileName);
-                if (Check.isNotNull(list)) {
-                    if (fileName.contains("看板")) {
-                        count += kanbanService.inserExcelInfo(broadcast, list);
-                    } else if (fileName.contains("概览")) {
-                        count += overviewService.inserExcelInfo(broadcast, list);
-                    } else if (fileName.contains("漏斗")) {
-                        count += funnelService.inserExcelInfo(broadcast, list);
-                    } else if (fileName.contains("分析")) {
-                        count += analysisService.inserExcelInfo(broadcast, list);
+        try {
+            if (!(Check.isNull(files) || "".equals(files[0].getOriginalFilename()))) {
+                for (MultipartFile file : files) {
+                    String fileName = file.getOriginalFilename();
+                    if (!(fileName.endsWith(".xls") || fileName.endsWith(".xlsx") || fileName.endsWith(".csv"))) {
+                        msg += fileName + "、";
+                        continue;
+                    }
+                    List<JSONObject> list = LiveDataExcelUtils.analysisFile(file, fileName);
+                    if (Check.isNotNull(list)) {
+                        if (fileName.contains("看板")) {
+                            count += kanbanService.inserExcelInfo(broadcast, list);
+                        } else if (fileName.contains("概览")) {
+                            count += overviewService.inserExcelInfo(broadcast, list);
+                        } else if (fileName.contains("漏斗")) {
+                            count += funnelService.inserExcelInfo(broadcast, list);
+                        } else if (fileName.contains("分析")) {
+                            count += analysisService.inserExcelInfo(broadcast, list);
+                        }
                     }
                 }
             }
+        } catch (Exception e) {
+            return ResultResponse.error(e.getMessage());
         }
         //上传到cos的文件夹名称 (操盘手)
         String upFileName = "CaoPanShou";