|
@@ -1,12 +1,18 @@
|
|
package com.fdkankan.scene.service.impl;
|
|
package com.fdkankan.scene.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.fdkankan.common.constant.CommonStatus;
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
import com.fdkankan.common.constant.PayStatus;
|
|
import com.fdkankan.common.constant.PayStatus;
|
|
import com.fdkankan.common.constant.SceneStatus;
|
|
import com.fdkankan.common.constant.SceneStatus;
|
|
import com.fdkankan.common.constant.ServerCode;
|
|
import com.fdkankan.common.constant.ServerCode;
|
|
|
|
+import com.fdkankan.common.constant.UploadFilePath;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
import com.fdkankan.common.response.ResultData;
|
|
import com.fdkankan.common.response.ResultData;
|
|
import com.fdkankan.common.util.DateExtUtil;
|
|
import com.fdkankan.common.util.DateExtUtil;
|
|
@@ -15,15 +21,28 @@ import com.fdkankan.platform.api.feign.PlatformGoodsClient;
|
|
import com.fdkankan.platform.api.feign.PlatformUserClient;
|
|
import com.fdkankan.platform.api.feign.PlatformUserClient;
|
|
import com.fdkankan.platform.api.dto.Camera;
|
|
import com.fdkankan.platform.api.dto.Camera;
|
|
import com.fdkankan.platform.api.dto.UserIncrement;
|
|
import com.fdkankan.platform.api.dto.UserIncrement;
|
|
|
|
+import com.fdkankan.scene.entity.SceneEditInfo;
|
|
|
|
+import com.fdkankan.scene.entity.SceneEditInfoExt;
|
|
import com.fdkankan.scene.entity.ScenePlus;
|
|
import com.fdkankan.scene.entity.ScenePlus;
|
|
|
|
+import com.fdkankan.scene.service.ISceneEditInfoExtService;
|
|
|
|
+import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
import com.fdkankan.scene.service.ISceneEditService;
|
|
import com.fdkankan.scene.service.ISceneEditService;
|
|
import com.fdkankan.scene.service.IScenePlusService;
|
|
import com.fdkankan.scene.service.IScenePlusService;
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
import com.fdkankan.scene.service.ISceneProService;
|
|
|
|
+import com.fdkankan.scene.service.ISceneUploadService;
|
|
|
|
+import com.fdkankan.scene.vo.BaseDataParamVO;
|
|
import com.fdkankan.scene.vo.BaseSceneParamVO;
|
|
import com.fdkankan.scene.vo.BaseSceneParamVO;
|
|
|
|
+import com.fdkankan.scene.vo.DeleteFileParamVO;
|
|
import com.fdkankan.scene.vo.LocalesParamVO;
|
|
import com.fdkankan.scene.vo.LocalesParamVO;
|
|
import com.fdkankan.scene.vo.SceneAuthVO;
|
|
import com.fdkankan.scene.vo.SceneAuthVO;
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -37,6 +56,8 @@ import org.springframework.stereotype.Service;
|
|
@Service
|
|
@Service
|
|
public class SceneEditServiceImpl implements ISceneEditService {
|
|
public class SceneEditServiceImpl implements ISceneEditService {
|
|
|
|
|
|
|
|
+ @Value("${oss.bucket:4dkankan}")
|
|
|
|
+ private String bucket;
|
|
@Autowired
|
|
@Autowired
|
|
ISceneProService sceneProService;
|
|
ISceneProService sceneProService;
|
|
@Autowired
|
|
@Autowired
|
|
@@ -47,6 +68,12 @@ public class SceneEditServiceImpl implements ISceneEditService {
|
|
IScenePlusService scenePlusService;
|
|
IScenePlusService scenePlusService;
|
|
@Autowired
|
|
@Autowired
|
|
private UploadToOssUtil uploadToOssUtil;
|
|
private UploadToOssUtil uploadToOssUtil;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ISceneUploadService sceneUploadService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ISceneEditInfoService sceneEditInfoService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ISceneEditInfoExtService sceneEditInfoExtService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public SceneAuthVO getAuth(BaseSceneParamVO param) throws Exception{
|
|
public SceneAuthVO getAuth(BaseSceneParamVO param) throws Exception{
|
|
@@ -105,4 +132,65 @@ public class SceneEditServiceImpl implements ISceneEditService {
|
|
uploadToOssUtil.upload(JSON.toJSONBytes(param.getData()), key);
|
|
uploadToOssUtil.upload(JSON.toJSONBytes(param.getData()), key);
|
|
return ResultData.ok();
|
|
return ResultData.ok();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ResultData saveTour(BaseDataParamVO param) throws IOException {
|
|
|
|
+ String key = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum()) + "tour.json";
|
|
|
|
+ uploadToOssUtil.upload(param.getData().getBytes(StandardCharsets.UTF_8), key);
|
|
|
|
+
|
|
|
|
+ sceneEditInfoExtService.updateToursByNum(
|
|
|
|
+ param.getNum(), Integer.valueOf(CommonStatus.YES.code()));
|
|
|
|
+
|
|
|
|
+ return ResultData.ok();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ResultData deleteTour(BaseSceneParamVO param) throws Exception {
|
|
|
|
+ String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, param.getNum());
|
|
|
|
+ String tourJsonPath = userEditPath + "tour.json";
|
|
|
|
+ String tourJson = uploadToOssUtil.getObjectContent(bucket, tourJsonPath);
|
|
|
|
+ JSONArray tours = JSON.parseArray(tourJson);
|
|
|
|
+ if(CollUtil.isNotEmpty(tours)){
|
|
|
|
+ List<String> fileNames = new ArrayList<>();
|
|
|
|
+ for (Object o : tours) {
|
|
|
|
+ JSONObject tour = (JSONObject)o;
|
|
|
|
+
|
|
|
|
+ JSONObject enter = tour.getJSONObject("enter");
|
|
|
|
+ if(Objects.nonNull(enter)){
|
|
|
|
+ String enterOver = enter.getString("cover");
|
|
|
|
+ if(StrUtil.isNotEmpty(enterOver)){
|
|
|
|
+ fileNames.add(enterOver);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ JSONObject exit = tour.getJSONObject("exit");
|
|
|
|
+ if(Objects.nonNull(exit)){
|
|
|
|
+ String exitOver = exit.getString("cover");
|
|
|
|
+ if(StrUtil.isNotEmpty(exitOver)){
|
|
|
|
+ fileNames.add(exitOver);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ String music = tour.getString("music");
|
|
|
|
+ if(StrUtil.isNotEmpty(music)){
|
|
|
|
+ fileNames.add( music);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //批量删除资源文件
|
|
|
|
+ if(CollUtil.isNotEmpty(fileNames)){
|
|
|
|
+ sceneUploadService.delete(
|
|
|
|
+ DeleteFileParamVO.builder()
|
|
|
|
+ .num(param.getNum()).bizType("tour").fileNames(fileNames)
|
|
|
|
+ .build());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //删除tour.json文件
|
|
|
|
+ uploadToOssUtil.delete(tourJsonPath);
|
|
|
|
+
|
|
|
|
+ sceneEditInfoExtService.updateToursByNum(
|
|
|
|
+ param.getNum(), Integer.valueOf(CommonStatus.NO.code()));
|
|
|
|
+
|
|
|
|
+ return ResultData.ok();
|
|
|
|
+ }
|
|
}
|
|
}
|