|
@@ -2,15 +2,20 @@ package com.fdkankan.scene.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.fdkankan.common.constant.ConstantFilePath;
|
|
|
import com.fdkankan.common.constant.ErrorCode;
|
|
|
import com.fdkankan.common.constant.PayStatus;
|
|
|
+import com.fdkankan.common.constant.UploadFilePath;
|
|
|
import com.fdkankan.common.exception.BusinessException;
|
|
|
import com.fdkankan.common.response.ResultData;
|
|
|
+import com.fdkankan.common.util.MatrixToImageWriterUtil;
|
|
|
+import com.fdkankan.fyun.oss.UploadToOssUtil;
|
|
|
import com.fdkankan.platform.api.feign.PlatformGoodsClient;
|
|
|
import com.fdkankan.scene.entity.SceneEditInfo;
|
|
|
import com.fdkankan.scene.entity.ScenePlus;
|
|
|
import com.fdkankan.scene.entity.ScenePlusExt;
|
|
|
import com.fdkankan.scene.entity.ScenePro;
|
|
|
+import com.fdkankan.scene.entity.SceneProEdit;
|
|
|
import com.fdkankan.scene.entity.SceneProExt;
|
|
|
import com.fdkankan.scene.mapper.IScenePlusMapper;
|
|
|
import com.fdkankan.scene.service.ISceneEditInfoService;
|
|
@@ -18,11 +23,14 @@ import com.fdkankan.scene.service.IScenePlusExtService;
|
|
|
import com.fdkankan.scene.service.IScenePlusService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fdkankan.scene.vo.SceneCheckKeyParamVO;
|
|
|
+import java.io.File;
|
|
|
import java.util.Calendar;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
+import java.util.UUID;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
@@ -38,6 +46,11 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
@Service
|
|
|
public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlus> implements IScenePlusService {
|
|
|
|
|
|
+ @Value("${main.url}")
|
|
|
+ private String mainUrl;
|
|
|
+ @Value("${scene.pro.new.url}")
|
|
|
+ private String sceneProNewUrl;
|
|
|
+
|
|
|
@Autowired
|
|
|
private IScenePlusExtService scenePlusExtService;
|
|
|
@Autowired
|
|
@@ -45,7 +58,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
|
@Autowired
|
|
|
private IScenePlusService scenePlusService;
|
|
|
@Autowired
|
|
|
- ISceneEditInfoService sceneEditInfoService;
|
|
|
+ private ISceneEditInfoService sceneEditInfoService;
|
|
|
+ @Autowired
|
|
|
+ private UploadToOssUtil uploadToOssUtil;
|
|
|
|
|
|
@Override
|
|
|
public ScenePlus getScenePlusByNum(String num) {
|
|
@@ -117,4 +132,35 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public ResultData uploadShareLogo(String num, MultipartFile file) throws Exception {
|
|
|
+
|
|
|
+ ScenePlus scenePlus = this.getScenePlusByNum(num);
|
|
|
+ if (Objects.isNull(scenePlus)) {
|
|
|
+ return ResultData.error(ErrorCode.FAILURE_CODE_5005);
|
|
|
+ }
|
|
|
+ ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
|
|
|
+
|
|
|
+ String fileName = file.getOriginalFilename();
|
|
|
+ String extName = fileName.substring(fileName.lastIndexOf("."));
|
|
|
+ File newFile = File.createTempFile(UUID.randomUUID().toString() ,extName);
|
|
|
+ file.transferTo(newFile);
|
|
|
+
|
|
|
+ String logoPah = newFile.getPath();
|
|
|
+
|
|
|
+ String outPathZh = ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+num+".png";
|
|
|
+ String outPathEn = ConstantFilePath.BASE_PATH + File.separator + "sceneQRcode/"+num+"_en.png";
|
|
|
+
|
|
|
+ String webSize = mainUrl + "/" + sceneProNewUrl + num;
|
|
|
+ //生成新的分享的二维码-中文版本
|
|
|
+ MatrixToImageWriterUtil.createQRCode(webSize, outPathZh, true, logoPah);
|
|
|
+ //生成新的分享的二维码-英文版本
|
|
|
+ MatrixToImageWriterUtil.createQRCode(webSize + "&lang=en", outPathEn, true, logoPah);
|
|
|
+ //上传二维码
|
|
|
+ uploadToOssUtil.upload(outPathZh, String.format(UploadFilePath.DOWNLOADS_QRCODE, num) + num + ".png");
|
|
|
+ uploadToOssUtil.upload(outPathEn, String.format(UploadFilePath.DOWNLOADS_QRCODE, num) + num + "_en.png");
|
|
|
+
|
|
|
+ return ResultData.ok();
|
|
|
+ }
|
|
|
+
|
|
|
}
|