summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortanghao <[email protected]>2022-12-08 16:18:30 +0800
committertanghao <[email protected]>2022-12-08 16:18:30 +0800
commitea055eeacf7b030d6ad1c5b6a8198c2aec2dd11b (patch)
tree267d9ce3e363b50a38a8f236cf694670f6df9d41
parent9d742122bd6d214e479bfb2515d6688fff3295e6 (diff)
feat: 新增报告重新上传接口
-rw-r--r--cn-admin/src/main/java/net/geedge/modules/report/controller/ReportJobController.java7
-rw-r--r--cn-admin/src/main/java/net/geedge/modules/report/service/ReportJobService.java2
-rw-r--r--cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportCategoryServiceImpl.java3
-rw-r--r--cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportJobServiceImpl.java28
4 files changed, 26 insertions, 14 deletions
diff --git a/cn-admin/src/main/java/net/geedge/modules/report/controller/ReportJobController.java b/cn-admin/src/main/java/net/geedge/modules/report/controller/ReportJobController.java
index ec0ad14..fffeaa2 100644
--- a/cn-admin/src/main/java/net/geedge/modules/report/controller/ReportJobController.java
+++ b/cn-admin/src/main/java/net/geedge/modules/report/controller/ReportJobController.java
@@ -89,4 +89,11 @@ public class ReportJobController extends AbstractController{
reportJobService.restartJob(param);
return R.ok();
}
+
+ @PutMapping("/reupload")
+ public R reuploadJob(@RequestParam String ids) {
+ ValidateUtils.is(ids).notNull(RCode.REPORT_JOB_ID_ISNULL);
+ reportJobService.reuploadJob(ids);
+ return R.ok();
+ }
}
diff --git a/cn-admin/src/main/java/net/geedge/modules/report/service/ReportJobService.java b/cn-admin/src/main/java/net/geedge/modules/report/service/ReportJobService.java
index 1ca6227..121792d 100644
--- a/cn-admin/src/main/java/net/geedge/modules/report/service/ReportJobService.java
+++ b/cn-admin/src/main/java/net/geedge/modules/report/service/ReportJobService.java
@@ -28,4 +28,6 @@ public interface ReportJobService extends IService<ReportJob>{
void upload(String fileName) throws FileNotFoundException;
void restartJob(Map<String,Object> param);
+
+ void reuploadJob(String ids);
}
diff --git a/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportCategoryServiceImpl.java b/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportCategoryServiceImpl.java
index 7f2103e..a643846 100644
--- a/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportCategoryServiceImpl.java
+++ b/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportCategoryServiceImpl.java
@@ -3,6 +3,7 @@ package net.geedge.modules.report.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -17,6 +18,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONString;
@@ -120,6 +122,7 @@ public class ReportCategoryServiceImpl extends ServiceImpl<ReportCategoryDao, Re
//将对应job html内容进行同步
List<ReportJob> jobs = reportJobService.list(new QueryWrapper<ReportJob>().lambda().eq(ReportJob::getUniq, temp.getUniq()));
jobs.stream().forEach(job-> {
+ job.setName(StrUtil.concat(false, temp.getName(),DateUtil.format(new Date(), "yyyyMMdd")));
job.setHtmlContent(category.getHtmlContent());
job.setUpload(0);
job.setState(0);
diff --git a/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportJobServiceImpl.java b/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportJobServiceImpl.java
index 17e86ea..0a4841c 100644
--- a/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportJobServiceImpl.java
+++ b/cn-admin/src/main/java/net/geedge/modules/report/service/impl/ReportJobServiceImpl.java
@@ -32,9 +32,7 @@ import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
-import org.openqa.selenium.OutputType;
import org.openqa.selenium.chrome.ChromeDriver;
-import org.openqa.selenium.chrome.ChromeOptions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -57,18 +55,8 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.base.Joiner;
-import com.itextpdf.html2pdf.ConverterProperties;
-import com.itextpdf.html2pdf.HtmlConverter;
-import com.itextpdf.html2pdf.resolver.font.DefaultFontProvider;
-import com.itextpdf.io.font.FontProgram;
-import com.itextpdf.io.font.FontProgramFactory;
-import com.itextpdf.kernel.geom.PageSize;
-import com.itextpdf.kernel.pdf.PdfDocument;
-import com.itextpdf.kernel.pdf.PdfWriter;
-import com.itextpdf.layout.font.FontProvider;
import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FastByteArrayOutputStream;
@@ -80,7 +68,6 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.log.Log;
import freemarker.template.Template;
import net.geedge.common.exception.CNException;
-import net.geedge.common.utils.CommonUtils;
import net.geedge.common.utils.Constant;
import net.geedge.common.utils.FreeMarkerUtil;
import net.geedge.common.utils.PageUtils;
@@ -118,7 +105,7 @@ public class ReportJobServiceImpl extends ServiceImpl<ReportJobDao, ReportJob> i
@Autowired
private ReportTempService reportTempService;
-
+
@Override
public PageUtils queryPage(Map<String, Object> params) {
Timezone sysTimezone = timezoneService.getOne(new LambdaQueryWrapper<Timezone>().eq(Timezone::getName, sysConfigService.getValue("timezone")));
@@ -230,9 +217,14 @@ public class ReportJobServiceImpl extends ServiceImpl<ReportJobDao, ReportJob> i
String htmlName = reportJob.getName()+reportJob.getCtime().getTime()+".html ";
String fileName = reportJob.getName()+reportJob.getCtime().getTime()+".pdf ";
File file = FileUtil.file(Constant.TEMP_PATH + File.separator +htmlName);
+ File pdfFile = FileUtil.file(Constant.TEMP_PATH + File.separator +fileName);
+ // 删除废弃文件
if(file.exists()) {
file.delete();
}
+ if(pdfFile.exists()) {
+ pdfFile.delete();
+ }
FileUtil.writeBytes(html.getBytes(), file);
RuntimeUtil.exec("node "+Constant.CONFIG_PATH+File.separator+"report.js "+Constant.TEMP_PATH+File.separator+htmlName+Constant.TEMP_PATH+File.separator+fileName);
}catch(Exception e) {
@@ -659,4 +651,12 @@ public class ReportJobServiceImpl extends ServiceImpl<ReportJobDao, ReportJob> i
**/
this.baseMapper.deleteResult(Arrays.asList(ids.split(",")), type, overview);
}
+
+ @Override
+ public void reuploadJob(String ids) {
+ ReportJob job = new ReportJob();
+ job.setState(0);
+ job.setUpload(0);
+ this.baseMapper.update(job, new QueryWrapper<ReportJob>().lambda().in(ReportJob::getId, Arrays.asList(ids.split(","))));
+ }
}