diff options
| author | tanghao <[email protected]> | 2022-12-08 16:18:30 +0800 |
|---|---|---|
| committer | tanghao <[email protected]> | 2022-12-08 16:18:30 +0800 |
| commit | ea055eeacf7b030d6ad1c5b6a8198c2aec2dd11b (patch) | |
| tree | 267d9ce3e363b50a38a8f236cf694670f6df9d41 | |
| parent | 9d742122bd6d214e479bfb2515d6688fff3295e6 (diff) | |
feat: 新增报告重新上传接口
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(",")))); + } } |
