|
@@ -1,9 +1,9 @@
|
|
|
package com.ruixuan.live.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.ruixuan.common.core.domain.ResultResponse;
|
|
|
-import com.ruixuan.common.cos.CosUpload;
|
|
|
import com.ruixuan.common.utils.Check;
|
|
|
import com.ruixuan.data.service.IKuaishouLiveDataAnalysisService;
|
|
|
import com.ruixuan.data.service.IKuaishouLiveDataFunnelService;
|
|
@@ -132,7 +132,7 @@ public class KuaishouLiveBroadcastServiceImpl implements IKuaishouLiveBroadcastS
|
|
|
KuaishouLiveBroadcast checkOne = kuaishouLiveBroadcastMapper.getOne(broadcast);
|
|
|
if (checkOne == null) {
|
|
|
KuaishouLiveBroadcast copy = new KuaishouLiveBroadcast();
|
|
|
- BeanUtils.copyProperties(copy, broadcast);
|
|
|
+ BeanUtils.copyProperties(broadcast, copy);
|
|
|
copy.setId(null);
|
|
|
if (kuaishouLiveBroadcastMapper.getOne(copy) != null) {
|
|
|
return ResultResponse.error("当前时间段已存在直播!");
|
|
@@ -168,7 +168,7 @@ public class KuaishouLiveBroadcastServiceImpl implements IKuaishouLiveBroadcastS
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResultResponse dataUpload(String id, Long actualGmv, String dapanUrls, String portraitUrls, MultipartFile[] files) throws Exception {
|
|
|
+ public ResultResponse dataUpload(String id, String actualGmv, String dapanUrls, String portraitUrls, MultipartFile[] files) throws Exception {
|
|
|
KuaishouLiveBroadcast broadcast = kuaishouLiveBroadcastMapper.selectKuaishouLiveBroadcastById(id);
|
|
|
if (broadcast == null) {
|
|
|
return ResultResponse.error("未查询到直播!");
|
|
@@ -178,108 +178,105 @@ public class KuaishouLiveBroadcastServiceImpl implements IKuaishouLiveBroadcastS
|
|
|
String msg = "";
|
|
|
//记录上传文件
|
|
|
int count = 0;
|
|
|
- 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";
|
|
|
- KuaishouLiveBroadcastFiles file = new KuaishouLiveBroadcastFiles();
|
|
|
+ KuaishouLiveBroadcastFiles file = null;
|
|
|
//上传数据大盘
|
|
|
- if (Check.isNotNull(dapanUrls)) {
|
|
|
- List<String> urls = Arrays.asList(dapanUrls.split(","));
|
|
|
+ if (Check.isNotNull(dapanUrls) && !"[]".equals(dapanUrls)) {
|
|
|
+ file = new KuaishouLiveBroadcastFiles();
|
|
|
+ file.setId(id);
|
|
|
+ List<String> urls = JSONArray.parseArray(dapanUrls, String.class);
|
|
|
HashSet<String> set = new HashSet<>(urls);
|
|
|
String urlFix = "";
|
|
|
String names = "";
|
|
|
- int dapanCount = 0;
|
|
|
+ int dapanCount = set.size();
|
|
|
for (String url : set) {
|
|
|
- String pictureName = "dapan_000" + (dapanCount + 1);
|
|
|
- String cosUrl = CosUpload.getJPGCosUrl(url, upFileName, pictureName);
|
|
|
- if (Check.isNotNull(cosUrl)) {
|
|
|
- dapanCount++;
|
|
|
- int lastNo = cosUrl.lastIndexOf("/") + 1;
|
|
|
- urlFix = cosUrl.substring(0, lastNo);
|
|
|
- String name = cosUrl.substring(lastNo);
|
|
|
- if (dapanCount > 1) {
|
|
|
- names += "," + name;
|
|
|
- } else {
|
|
|
- names = name;
|
|
|
- }
|
|
|
+// String pictureName = "dapan_000" + (dapanCount + 1);
|
|
|
+// String cosUrl = CosUpload.getJPGCosUrl(url, upFileName, pictureName);
|
|
|
+ if (Check.isNotNull(url)) {
|
|
|
+ int lastNo = url.lastIndexOf("/") + 1;
|
|
|
+ urlFix = "https:" + url.substring(0, lastNo);
|
|
|
+ String name = url.substring(lastNo);
|
|
|
+ names += "," + name;
|
|
|
}
|
|
|
}
|
|
|
file.setUpCommonUrl(urlFix);
|
|
|
file.setDapanCount(dapanCount);
|
|
|
- file.setDapanNames(names);
|
|
|
- if (set.size() == dapanCount) {
|
|
|
- file.setDapanMsg("success");
|
|
|
- } else {
|
|
|
- file.setDapanMsg("共上传" + set.size() + "张,成功" + dapanCount + "张");
|
|
|
- }
|
|
|
+ file.setDapanNames(names.substring(1));
|
|
|
+ file.setDapanMsg("success");
|
|
|
}
|
|
|
|
|
|
//画像分析上传
|
|
|
- if (Check.isNotNull(portraitUrls)) {
|
|
|
- List<String> urls = Arrays.asList(portraitUrls.split(","));
|
|
|
+ if (Check.isNotNull(portraitUrls) && !"[]".equals(portraitUrls)) {
|
|
|
+ file = new KuaishouLiveBroadcastFiles();
|
|
|
+ file.setId(id);
|
|
|
+ List<String> urls = JSONArray.parseArray(portraitUrls, String.class);
|
|
|
HashSet<String> set = new HashSet<>(urls);
|
|
|
String urlFix = "";
|
|
|
String names = "";
|
|
|
- int portraitCount = 0;
|
|
|
+ int portraitCount = set.size();
|
|
|
for (String url : set) {
|
|
|
- String pictureName = "portrait_000" + (portraitCount + 1);
|
|
|
- String cosUrl = CosUpload.getJPGCosUrl(url, upFileName, pictureName);
|
|
|
- if (Check.isNotNull(cosUrl)) {
|
|
|
- portraitCount++;
|
|
|
- int lastNo = cosUrl.lastIndexOf("/") + 1;
|
|
|
- urlFix = cosUrl.substring(0, lastNo);
|
|
|
- String name = cosUrl.substring(lastNo);
|
|
|
- if (portraitCount > 1) {
|
|
|
- names += "," + name;
|
|
|
- } else {
|
|
|
- names = name;
|
|
|
- }
|
|
|
+// String pictureName = "portrait_000" + (portraitCount + 1);
|
|
|
+// String cosUrl = CosUpload.getJPGCosUrl(url, upFileName, pictureName);
|
|
|
+ if (Check.isNotNull(url)) {
|
|
|
+ int lastNo = url.lastIndexOf("/") + 1;
|
|
|
+ urlFix = "https:" + url.substring(0, lastNo);
|
|
|
+ String name = url.substring(lastNo);
|
|
|
+ names += "," + name;
|
|
|
}
|
|
|
}
|
|
|
+ file.setUpCommonUrl(urlFix);
|
|
|
file.setPortraitCount(portraitCount);
|
|
|
- file.setPortraitNames(names);
|
|
|
- if (set.size() == portraitCount) {
|
|
|
- file.setPortraitMsg("success");
|
|
|
- } else {
|
|
|
- file.setPortraitMsg("共上传" + set.size() + "张,成功" + portraitCount + "张");
|
|
|
- }
|
|
|
+ file.setPortraitNames(names.substring(1));
|
|
|
+ file.setPortraitMsg("success");
|
|
|
}
|
|
|
KuaishouLiveBroadcastFiles one = filesMapper.selectKuaishouLiveBroadcastFilesById(id);
|
|
|
- file.setId(id);
|
|
|
- if (Check.isNull(one)) {
|
|
|
- filesMapper.insertKuaishouLiveBroadcastFiles(file);
|
|
|
- } else {
|
|
|
- filesMapper.updateKuaishouLiveBroadcastFiles(file);
|
|
|
+ int uploadPictureCount = 0;
|
|
|
+ if (Check.isNotNull(file)) {
|
|
|
+ if (Check.isNull(one)) {
|
|
|
+ filesMapper.insertKuaishouLiveBroadcastFiles(file);
|
|
|
+ } else {
|
|
|
+ filesMapper.updateKuaishouLiveBroadcastFiles(file);
|
|
|
+ }
|
|
|
+ Integer dapanCount = Check.isNotNull(file.getDapanCount()) ? file.getDapanCount() : 0;
|
|
|
+ Integer portraitCount = Check.isNotNull(file.getPortraitCount()) ? file.getPortraitCount() : 0;
|
|
|
+ uploadPictureCount = dapanCount + portraitCount;
|
|
|
}
|
|
|
|
|
|
//更新直播表
|
|
|
KuaishouLiveBroadcast updateEntity = new KuaishouLiveBroadcast();
|
|
|
updateEntity.setId(id);
|
|
|
updateEntity.setUploadFileCount(count);
|
|
|
- updateEntity.setUploadPictureCount(file.getDapanCount() + file.getPortraitCount());
|
|
|
+ updateEntity.setUploadPictureCount(uploadPictureCount);
|
|
|
updateEntity.setActualGmv(actualGmv);
|
|
|
kuaishouLiveBroadcastMapper.updateKuaishouLiveBroadcast(updateEntity);
|
|
|
|
|
|
-
|
|
|
if (msg.length() > 0) {
|
|
|
msg = msg.substring(0, msg.length() - 1) + "不支持文件格式";
|
|
|
} else {
|
|
@@ -290,43 +287,34 @@ public class KuaishouLiveBroadcastServiceImpl implements IKuaishouLiveBroadcastS
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResultResponse replay(String id, String replayPictureUrls, MultipartFile replayFile) {
|
|
|
+ public ResultResponse replay(String id, String replayPictureUrls, String replayFile) {
|
|
|
//上传到cos的文件夹名称 (操盘手)
|
|
|
String upFileName = "CaoPanShou";
|
|
|
KuaishouLiveBroadcastFiles file = new KuaishouLiveBroadcastFiles();
|
|
|
//上传复盘图片
|
|
|
- if (Check.isNotNull(replayPictureUrls)) {
|
|
|
- List<String> urls = Arrays.asList(replayPictureUrls.split(","));
|
|
|
+ if (Check.isNotNull(replayPictureUrls) && !"[]".equals(replayPictureUrls)) {
|
|
|
+ List<String> urls = JSONArray.parseArray(replayPictureUrls, String.class);
|
|
|
HashSet<String> set = new HashSet<>(urls);
|
|
|
String urlFix = "";
|
|
|
String names = "";
|
|
|
- int replayPictureCount = 0;
|
|
|
+ int replayPictureCount = set.size();
|
|
|
for (String url : set) {
|
|
|
- String pictureName = "replayPicture_000" + (replayPictureCount + 1);
|
|
|
- String cosUrl = CosUpload.getJPGCosUrl(url, upFileName, pictureName);
|
|
|
- if (Check.isNotNull(cosUrl)) {
|
|
|
- replayPictureCount++;
|
|
|
- int lastNo = cosUrl.lastIndexOf("/") + 1;
|
|
|
- urlFix = cosUrl.substring(0, lastNo);
|
|
|
- String name = cosUrl.substring(lastNo);
|
|
|
- if (replayPictureCount > 1) {
|
|
|
- names += "," + name;
|
|
|
- } else {
|
|
|
- names = name;
|
|
|
- }
|
|
|
+// String pictureName = "replayPicture_000" + (replayPictureCount + 1);
|
|
|
+// String cosUrl = CosUpload.getJPGCosUrl(url, upFileName, pictureName);
|
|
|
+ if (Check.isNotNull(url)) {
|
|
|
+ int lastNo = url.lastIndexOf("/") + 1;
|
|
|
+ urlFix = "https:" + url.substring(0, lastNo);
|
|
|
+ String name = url.substring(lastNo);
|
|
|
+ names += "," + name;
|
|
|
}
|
|
|
}
|
|
|
file.setReplayCommonUrl(urlFix);
|
|
|
file.setReplayPictureCount(replayPictureCount);
|
|
|
- file.setReplayPictureNames(names);
|
|
|
- if (set.size() == replayPictureCount) {
|
|
|
- file.setReplayPictureMsg("success");
|
|
|
- } else {
|
|
|
- file.setReplayPictureMsg("共上传" + set.size() + "张,成功" + replayPictureCount + "张");
|
|
|
- }
|
|
|
+ file.setReplayPictureNames(names.substring(1));
|
|
|
+ file.setReplayPictureMsg("success");
|
|
|
}
|
|
|
if (Check.isNotNull(replayFile)) {
|
|
|
- file.setReplayFileUrl(CosUpload.getFileCosUrl(replayFile, upFileName));
|
|
|
+ file.setReplayFileUrl(replayFile);
|
|
|
}
|
|
|
KuaishouLiveBroadcastFiles one = filesMapper.selectKuaishouLiveBroadcastFilesById(id);
|
|
|
file.setId(id);
|