Skip to content

Commit 1edf4d8

Browse files
gitchenjhklboke
authored andcommitted
优化:重构代码
1 parent f620c00 commit 1edf4d8

12 files changed

Lines changed: 95 additions & 82 deletions

jodconverter-web/src/main/java/cn/keking/config/ConfigConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public static Boolean isCacheEnabled() {
4545
}
4646

4747
@Value("${cache.enabled:true}")
48-
public static void setCacheEnabled(String cacheEnabled) {
48+
public void setCacheEnabled(String cacheEnabled) {
4949
setCacheEnabledValueValue(Boolean.parseBoolean(cacheEnabled));
5050
}
5151

jodconverter-web/src/main/java/cn/keking/service/FileConvertQueueTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void startTask(){
4242
logger.info("队列处理文件转换任务启动完成 ");
4343
}
4444

45-
class ConvertTask implements Runnable {
45+
static class ConvertTask implements Runnable {
4646

4747
private final Logger logger = LoggerFactory.getLogger(ConvertTask.class);
4848

jodconverter-web/src/main/java/cn/keking/service/cache/impl/CacheServiceRocksDBImpl.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ public void putImgCache(String key, List<String> value) {
9999
}
100100

101101
@Override
102+
@SuppressWarnings("unchecked")
102103
public Map<String, String> getPDFCache() {
103104
Map<String, String> result = new HashMap<>();
104105
try{
@@ -110,6 +111,7 @@ public Map<String, String> getPDFCache() {
110111
}
111112

112113
@Override
114+
@SuppressWarnings("unchecked")
113115
public String getPDFCache(String key) {
114116
String result = "";
115117
try{
@@ -122,6 +124,7 @@ public String getPDFCache(String key) {
122124
}
123125

124126
@Override
127+
@SuppressWarnings("unchecked")
125128
public Map<String, List<String>> getImgCache() {
126129
Map<String, List<String>> result = new HashMap<>();
127130
try{
@@ -133,6 +136,7 @@ public Map<String, List<String>> getImgCache() {
133136
}
134137

135138
@Override
139+
@SuppressWarnings("unchecked")
136140
public List<String> getImgCache(String key) {
137141
List<String> result = new ArrayList<>();
138142
Map<String, List<String>> map;
@@ -145,17 +149,8 @@ public List<String> getImgCache(String key) {
145149
return result;
146150
}
147151

148-
public Map<String, Integer> getPdfImageCaches() {
149-
Map<String, Integer> map = new HashMap<>();
150-
try{
151-
map = (Map<String, Integer>) toObject(db.get(FILE_PREVIEW_PDF_IMGS_KEY.getBytes()));
152-
} catch (RocksDBException | IOException | ClassNotFoundException e) {
153-
LOGGER.error("Get from RocksDB Exception" + e);
154-
}
155-
return map;
156-
}
157-
158152
@Override
153+
@SuppressWarnings("unchecked")
159154
public Integer getPdfImageCache(String key) {
160155
Integer result = 0;
161156
Map<String, Integer> map;
@@ -200,6 +195,18 @@ public String takeQueueTask() throws InterruptedException {
200195
return blockingQueue.take();
201196
}
202197

198+
@SuppressWarnings("unchecked")
199+
private Map<String, Integer> getPdfImageCaches() {
200+
Map<String, Integer> map = new HashMap<>();
201+
try{
202+
map = (Map<String, Integer>) toObject(db.get(FILE_PREVIEW_PDF_IMGS_KEY.getBytes()));
203+
} catch (RocksDBException | IOException | ClassNotFoundException e) {
204+
LOGGER.error("Get from RocksDB Exception" + e);
205+
}
206+
return map;
207+
}
208+
209+
203210
private byte[] toByteArray (Object obj) throws IOException {
204211
byte[] bytes;
205212
ByteArrayOutputStream bos = new ByteArrayOutputStream();

jodconverter-web/src/main/java/cn/keking/service/impl/CadFilePreviewImpl.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@
44
import cn.keking.model.FileAttribute;
55
import cn.keking.model.ReturnResponse;
66
import cn.keking.service.FilePreview;
7-
import cn.keking.utils.CadToPdf;
7+
import cn.keking.utils.CadUtils;
88
import cn.keking.utils.DownloadUtils;
99
import cn.keking.utils.FileUtils;
1010
import cn.keking.utils.PdfUtils;
1111
import cn.keking.web.filter.BaseUrlFilter;
12-
import org.springframework.beans.factory.annotation.Autowired;
1312
import org.springframework.stereotype.Service;
1413
import org.springframework.ui.Model;
1514
import org.springframework.util.StringUtils;
@@ -23,23 +22,29 @@
2322
@Service
2423
public class CadFilePreviewImpl implements FilePreview {
2524

26-
private String fileDir = ConfigConstants.getFileDir();
25+
private final FileUtils fileUtils;
2726

28-
@Autowired
29-
private FileUtils fileUtils;
27+
private final DownloadUtils downloadUtils;
3028

31-
@Autowired
32-
private DownloadUtils downloadUtils;
29+
private final CadUtils cadUtils;
3330

34-
@Autowired
35-
private CadToPdf cadToPdf;
31+
private final PdfUtils pdfUtils;
3632

37-
@Autowired
38-
private PdfUtils pdfUtils;
33+
public CadFilePreviewImpl(FileUtils fileUtils,
34+
DownloadUtils downloadUtils,
35+
CadUtils cadUtils,
36+
PdfUtils pdfUtils) {
37+
this.fileUtils = fileUtils;
38+
this.downloadUtils = downloadUtils;
39+
this.cadUtils = cadUtils;
40+
this.pdfUtils = pdfUtils;
41+
42+
}
43+
44+
private static final String OFFICE_PREVIEW_TYPE_IMAGE = "image";
45+
private static final String OFFICE_PREVIEW_TYPE_ALL_IMAGES = "allImages";
46+
private static final String FILE_DIR = ConfigConstants.getFileDir();
3947

40-
public static final String OFFICE_PREVIEW_TYPE_PDF = "pdf";
41-
public static final String OFFICE_PREVIEW_TYPE_IMAGE = "image";
42-
public static final String OFFICE_PREVIEW_TYPE_ALLIMAGES = "allImages";
4348

4449
@Override
4550
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
@@ -49,7 +54,7 @@ public String filePreviewHandle(String url, Model model, FileAttribute fileAttri
4954
String suffix=fileAttribute.getSuffix();
5055
String fileName=fileAttribute.getName();
5156
String pdfName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + "pdf";
52-
String outFilePath = fileDir + pdfName;
57+
String outFilePath = FILE_DIR + pdfName;
5358
// 判断之前是否已转换过,如果转换过,直接返回,否则执行转换
5459
if (!fileUtils.listConvertedFiles().containsKey(pdfName) || !ConfigConstants.isCacheEnabled()) {
5560
String filePath;
@@ -61,7 +66,7 @@ public String filePreviewHandle(String url, Model model, FileAttribute fileAttri
6166
}
6267
filePath = response.getContent();
6368
if (StringUtils.hasText(outFilePath)) {
64-
boolean convertResult = cadToPdf.cadToPdf(filePath, outFilePath);
69+
boolean convertResult = cadUtils.cadToPdf(filePath, outFilePath);
6570
if (!convertResult) {
6671
model.addAttribute("fileType", suffix);
6772
model.addAttribute("msg", "cad文件转换异常,请联系管理员");
@@ -73,7 +78,7 @@ public String filePreviewHandle(String url, Model model, FileAttribute fileAttri
7378
}
7479
}
7580
}
76-
if (baseUrl != null && (OFFICE_PREVIEW_TYPE_IMAGE.equals(officePreviewType) || OFFICE_PREVIEW_TYPE_ALLIMAGES.equals(officePreviewType))) {
81+
if (baseUrl != null && (OFFICE_PREVIEW_TYPE_IMAGE.equals(officePreviewType) || OFFICE_PREVIEW_TYPE_ALL_IMAGES.equals(officePreviewType))) {
7782
return getPreviewType(model, fileAttribute, officePreviewType, baseUrl, pdfName, outFilePath, pdfUtils, OFFICE_PREVIEW_TYPE_IMAGE);
7883
}
7984
model.addAttribute("pdfUrl", pdfName);

jodconverter-web/src/main/java/cn/keking/service/impl/CompressFilePreviewImpl.java

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import cn.keking.utils.DownloadUtils;
88
import cn.keking.utils.FileUtils;
99
import cn.keking.utils.ZipReader;
10-
import org.springframework.beans.factory.annotation.Autowired;
1110
import org.springframework.stereotype.Service;
1211
import org.springframework.ui.Model;
1312
import org.springframework.util.StringUtils;
@@ -17,16 +16,21 @@
1716
* Content :处理压缩包文件
1817
*/
1918
@Service
20-
public class CompressFilePreviewImpl implements FilePreview{
19+
public class CompressFilePreviewImpl implements FilePreview {
2120

22-
@Autowired
23-
FileUtils fileUtils;
21+
private final FileUtils fileUtils;
2422

25-
@Autowired
26-
DownloadUtils downloadUtils;
23+
private final DownloadUtils downloadUtils;
2724

28-
@Autowired
29-
ZipReader zipReader;
25+
private final ZipReader zipReader;
26+
27+
public CompressFilePreviewImpl(FileUtils fileUtils,
28+
DownloadUtils downloadUtils,
29+
ZipReader zipReader) {
30+
this.fileUtils = fileUtils;
31+
this.downloadUtils = downloadUtils;
32+
this.zipReader = zipReader;
33+
}
3034

3135
@Override
3236
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {

jodconverter-web/src/main/java/cn/keking/service/impl/MediaFilePreviewImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import cn.keking.model.FileAttribute;
44
import cn.keking.service.FilePreview;
5-
import cn.keking.utils.FileUtils;
6-
import org.springframework.beans.factory.annotation.Autowired;
75
import org.springframework.stereotype.Service;
86
import org.springframework.ui.Model;
97
/**
@@ -15,9 +13,6 @@
1513
@Service
1614
public class MediaFilePreviewImpl implements FilePreview {
1715

18-
@Autowired
19-
FileUtils fileUtils;
20-
2116
@Override
2217
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
2318
model.addAttribute("mediaUrl", url);

jodconverter-web/src/main/java/cn/keking/service/impl/OfficeFilePreviewImpl.java

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import cn.keking.utils.OfficeToPdf;
1010
import cn.keking.utils.PdfUtils;
1111
import cn.keking.web.filter.BaseUrlFilter;
12-
import org.springframework.beans.factory.annotation.Autowired;
1312
import org.springframework.stereotype.Service;
1413
import org.springframework.ui.Model;
1514
import org.springframework.util.StringUtils;
@@ -23,23 +22,27 @@
2322
@Service
2423
public class OfficeFilePreviewImpl implements FilePreview {
2524

26-
@Autowired
27-
FileUtils fileUtils;
25+
private final FileUtils fileUtils;
2826

29-
@Autowired
30-
PdfUtils pdfUtils;
27+
private final PdfUtils pdfUtils;
3128

32-
@Autowired
33-
DownloadUtils downloadUtils;
29+
private final DownloadUtils downloadUtils;
3430

35-
@Autowired
36-
private OfficeToPdf officeToPdf;
31+
private final OfficeToPdf officeToPdf;
3732

38-
String fileDir = ConfigConstants.getFileDir();
33+
public OfficeFilePreviewImpl(FileUtils fileUtils,
34+
PdfUtils pdfUtils,
35+
DownloadUtils downloadUtils,
36+
OfficeToPdf officeToPdf) {
37+
this.fileUtils = fileUtils;
38+
this.pdfUtils = pdfUtils;
39+
this.downloadUtils = downloadUtils;
40+
this.officeToPdf = officeToPdf;
41+
}
3942

40-
public static final String OFFICE_PREVIEW_TYPE_PDF = "pdf";
4143
public static final String OFFICE_PREVIEW_TYPE_IMAGE = "image";
42-
public static final String OFFICE_PREVIEW_TYPE_ALLIMAGES = "allImages";
44+
public static final String OFFICE_PREVIEW_TYPE_ALL_IMAGES = "allImages";
45+
private static final String FILE_DIR = ConfigConstants.getFileDir();
4346

4447
@Override
4548
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
@@ -50,10 +53,10 @@ public String filePreviewHandle(String url, Model model, FileAttribute fileAttri
5053
String fileName=fileAttribute.getName();
5154
boolean isHtml = suffix.equalsIgnoreCase("xls") || suffix.equalsIgnoreCase("xlsx");
5255
String pdfName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + (isHtml ? "html" : "pdf");
53-
String outFilePath = fileDir + pdfName;
56+
String outFilePath = FILE_DIR + pdfName;
5457
// 判断之前是否已转换过,如果转换过,直接返回,否则执行转换
5558
if (!fileUtils.listConvertedFiles().containsKey(pdfName) || !ConfigConstants.isCacheEnabled()) {
56-
String filePath = fileDir + fileName;
59+
String filePath;
5760
ReturnResponse<String> response = downloadUtils.downLoad(fileAttribute, null);
5861
if (0 != response.getCode()) {
5962
model.addAttribute("fileType", suffix);
@@ -73,7 +76,7 @@ public String filePreviewHandle(String url, Model model, FileAttribute fileAttri
7376
}
7477
}
7578
}
76-
if (!isHtml && baseUrl != null && (OFFICE_PREVIEW_TYPE_IMAGE.equals(officePreviewType) || OFFICE_PREVIEW_TYPE_ALLIMAGES.equals(officePreviewType))) {
79+
if (!isHtml && baseUrl != null && (OFFICE_PREVIEW_TYPE_IMAGE.equals(officePreviewType) || OFFICE_PREVIEW_TYPE_ALL_IMAGES.equals(officePreviewType))) {
7780
return getPreviewType(model, fileAttribute, officePreviewType, baseUrl, pdfName, outFilePath, pdfUtils, OFFICE_PREVIEW_TYPE_IMAGE);
7881
}
7982
model.addAttribute("pdfUrl", pdfName);

jodconverter-web/src/main/java/cn/keking/service/impl/OtherFilePreviewImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import cn.keking.model.FileAttribute;
44
import cn.keking.service.FilePreview;
5-
import cn.keking.utils.FileUtils;
6-
import org.springframework.beans.factory.annotation.Autowired;
75
import org.springframework.stereotype.Service;
86
import org.springframework.ui.Model;
97

@@ -13,9 +11,6 @@
1311
*/
1412
@Service
1513
public class OtherFilePreviewImpl implements FilePreview {
16-
@Autowired
17-
FileUtils fileUtils;
18-
1914
@Override
2015
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
2116
model.addAttribute("fileType",fileAttribute.getSuffix());

jodconverter-web/src/main/java/cn/keking/service/impl/PdfFilePreviewImpl.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import cn.keking.utils.FileUtils;
99
import cn.keking.utils.PdfUtils;
1010
import cn.keking.web.filter.BaseUrlFilter;
11-
import org.springframework.beans.factory.annotation.Autowired;
1211
import org.springframework.stereotype.Service;
1312
import org.springframework.ui.Model;
1413

@@ -19,19 +18,21 @@
1918
* Content :处理pdf文件
2019
*/
2120
@Service
22-
public class PdfFilePreviewImpl implements FilePreview{
21+
public class PdfFilePreviewImpl implements FilePreview {
2322

23+
private final FileUtils fileUtils;
2424

25-
@Autowired
26-
FileUtils fileUtils;
25+
private final PdfUtils pdfUtils;
2726

28-
@Autowired
29-
PdfUtils pdfUtils;
27+
private final DownloadUtils downloadUtils;
3028

31-
@Autowired
32-
DownloadUtils downloadUtils;
33-
34-
String fileDir = ConfigConstants.getFileDir();
29+
public PdfFilePreviewImpl(FileUtils fileUtils,
30+
PdfUtils pdfUtils,
31+
DownloadUtils downloadUtils) {
32+
this.fileUtils = fileUtils;
33+
this.pdfUtils = pdfUtils;
34+
this.downloadUtils = downloadUtils;
35+
}
3536

3637
@Override
3738
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {
@@ -40,8 +41,8 @@ public String filePreviewHandle(String url, Model model, FileAttribute fileAttri
4041
String officePreviewType = model.asMap().get("officePreviewType") == null ? ConfigConstants.getOfficePreviewType() : model.asMap().get("officePreviewType").toString();
4142
String baseUrl = BaseUrlFilter.getBaseUrl();
4243
String pdfName = fileName.substring(0, fileName.lastIndexOf(".") + 1) + "pdf";
43-
String outFilePath = fileDir + pdfName;
44-
if (OfficeFilePreviewImpl.OFFICE_PREVIEW_TYPE_IMAGE.equals(officePreviewType) || OfficeFilePreviewImpl.OFFICE_PREVIEW_TYPE_ALLIMAGES.equals(officePreviewType)) {
44+
String outFilePath;
45+
if (OfficeFilePreviewImpl.OFFICE_PREVIEW_TYPE_IMAGE.equals(officePreviewType) || OfficeFilePreviewImpl.OFFICE_PREVIEW_TYPE_ALL_IMAGES.equals(officePreviewType)) {
4546
//当文件不存在时,就去下载
4647
ReturnResponse<String> response = downloadUtils.downLoad(fileAttribute, fileName);
4748
if (0 != response.getCode()) {

jodconverter-web/src/main/java/cn/keking/service/impl/PictureFilePreviewImpl.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import cn.keking.utils.DownloadUtils;
77
import cn.keking.utils.FileUtils;
88
import com.google.common.collect.Lists;
9-
import org.springframework.beans.factory.annotation.Autowired;
109
import org.springframework.stereotype.Service;
1110
import org.springframework.ui.Model;
1211
import org.springframework.web.context.request.RequestContextHolder;
@@ -20,11 +19,15 @@
2019
@Service
2120
public class PictureFilePreviewImpl implements FilePreview {
2221

23-
@Autowired
24-
FileUtils fileUtils;
22+
private final FileUtils fileUtils;
2523

26-
@Autowired
27-
DownloadUtils downloadUtils;
24+
private final DownloadUtils downloadUtils;
25+
26+
public PictureFilePreviewImpl(FileUtils fileUtils,
27+
DownloadUtils downloadUtils) {
28+
this.fileUtils = fileUtils;
29+
this.downloadUtils = downloadUtils;
30+
}
2831

2932
@Override
3033
public String filePreviewHandle(String url, Model model, FileAttribute fileAttribute) {

0 commit comments

Comments
 (0)