From 7ea5eece501c98a91555a5358931367e78e9d23b Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期四, 25 五月 2023 15:40:09 +0800
Subject: [PATCH] 11
---
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java | 152 ++++++++++++++++++++++++++++++++------------------
1 files changed, 98 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
index 5ae21e5..3acd551 100644
--- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -18,13 +18,16 @@
import com.example.jz.modle.dto.ReportParamDto;
import com.example.jz.modle.entity.*;
import com.example.jz.modle.vo.ExportExcelReportVo;
+import com.example.jz.modle.vo.NewCauseVo;
import com.example.jz.modle.vo.ReportListVo;
+import com.example.jz.modle.vo.ReportVXVO;
import com.example.jz.service.MinIOService;
import com.example.jz.service.ReportService;
import com.example.jz.service.UserService;
import lombok.SneakyThrows;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +43,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.function.Consumer;
import java.util.stream.Collectors;
/**
@@ -103,60 +107,63 @@
groupUserDao.delete(new QueryWrapper<GroupUser>().eq("user_id", id).eq("group_id", groupId));
}
- @Override
- @SneakyThrows
- public void exportReporter(Integer id, HttpServletResponse response) {
- //鏌ヨ鎶ユ浜虹浉鍏充俊鎭�氳繃妗堜欢
- List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", id).orderByDesc());
- ArrayList<ExportExcelReportVo> exportExcelReportVos = new ArrayList<>();
- reports.forEach(
- a -> {
- ExportExcelReportVo exportExcelReportVo = new ExportExcelReportVo();
- User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
- BeanUtils.copyProperties(a, exportExcelReportVo);
- exportExcelReportVo.setUserIdcard(user.getUserIdcard());
- exportExcelReportVo.setUserMobile(user.getUserMobile());
- exportExcelReportVo.setRealName(user.getRealName());
- WriteCellData<List<ImageData>> objectWriteCellData = new WriteCellData<>();
- ArrayList<ImageData> imageDataList = new ArrayList<>();
- if (StringUtils.isNotBlank(a.getReportMaterials())) {
- String[] urls = a.getReportMaterials().split(",");
- if (urls.length == 1) {
- int width = 600;
- try {
- ImageData imageData = new ImageData();
- imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[0])).openConnection().getInputStream()));
- imageData.setRight(width / 2);
- imageDataList.add(imageData);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- } else {
- for (int i = 0; i < urls.length; i++) {
- int width = 600;
- try {
- ImageData imageData = new ImageData();
- imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[i])).openConnection().getInputStream()));
- imageData.setLeft(width / urls.length * i);
- imageData.setRight(width - width / urls.length * (i + 1));
- imageDataList.add(imageData);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- }
- }
- objectWriteCellData.setImageDataList(imageDataList);
- exportExcelReportVo.setWriteCellData(objectWriteCellData);
- exportExcelReportVos.add(exportExcelReportVo);
- }
- );
- String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName();
- response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
- response.setCharacterEncoding("utf-8");
- response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode(name + ".xlsx", "utf-8"));
- EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("鏉愭枡瀵煎嚭").doWrite(exportExcelReportVos);
- }
+// @Override
+// @SneakyThrows
+// public void exportReporter(Integer id, HttpServletResponse response) {
+// //鏌ヨ鎶ユ浜虹浉鍏充俊鎭�氳繃妗堜欢
+// List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("cause_id", id).orderByDesc());
+// ArrayList<ExportExcelReportVo> exportExcelReportVos = new ArrayList<>();
+// reports.forEach(
+// new Consumer<Report>() {
+// @Override
+// public void accept(Report a) {
+// ExportExcelReportVo exportExcelReportVo = new ExportExcelReportVo();
+// User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
+// BeanUtils.copyProperties(a, exportExcelReportVo);
+// exportExcelReportVo.setUserIdcard(user.getUserIdcard());
+// exportExcelReportVo.setUserMobile(user.getUserMobile());
+// exportExcelReportVo.setRealName(user.getRealName());
+// WriteCellData<List<ImageData>> objectWriteCellData = new WriteCellData<>();
+// ArrayList<ImageData> imageDataList = new ArrayList<>();
+// if (StringUtils.isNotBlank(a.getReportMaterials())) {
+// String[] urls = a.getReportMaterials().split(",");
+// if (urls.length == 1) {
+// int width = 600;
+// try {
+// ImageData imageData = new ImageData();
+// imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[0])).openConnection().getInputStream()));
+// imageData.setRight(width / 2);
+// imageDataList.add(imageData);
+// } catch (Exception e) {
+// throw new RuntimeException(e);
+// }
+// } else {
+// for (int i = 0; i < urls.length; i++) {
+// int width = 600;
+// try {
+// ImageData imageData = new ImageData();
+// imageData.setImage(IoUtils.toByteArray(new URL(minIOService.getPreviewFileUrl(urls[i])).openConnection().getInputStream()));
+// imageData.setLeft(width / urls.length * i);
+// imageData.setRight(width - width / urls.length * (i + 1));
+// imageDataList.add(imageData);
+// } catch (Exception e) {
+// throw new RuntimeException(e);
+// }
+// }
+// }
+// }
+// objectWriteCellData.setImageDataList(imageDataList);
+// exportExcelReportVo.setWriteCellData(objectWriteCellData);
+// exportExcelReportVos.add(exportExcelReportVo);
+// }
+// }
+// );
+// String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName();
+// response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+// response.setCharacterEncoding("utf-8");
+// response.setHeader("Content-disposition", "attachment;filename=" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + URLEncoder.encode(name + ".xlsx", "utf-8"));
+// EasyExcel.write(response.getOutputStream(), ExportExcelReportVo.class).sheet("鏉愭枡瀵煎嚭").doWrite(exportExcelReportVos);
+// }
@Override
public Page<ReportListVo> getPage(Page<ReportListVo> page, ReportParamDto reportParamDto) {
@@ -245,4 +252,41 @@
.autoCloseStream(true)
.doReadAll();
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean reject(Integer id, String reason) {
+ Report report = reportDao.selectReportByReportId(id);
+ // 1. 鏇存柊鎶ユ琛�
+ report.setStatus(2);
+ report.setIsInGroup(2);
+ report.setRemarks(reason);
+ reportDao.updateById(report);
+ return true;
+ }
+
+ @Override
+ public ReportVXVO getRejectReportById(Integer id) {
+ ReportVXVO reportVXVO = new ReportVXVO();
+ Report report = reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id));
+ User user = userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getId, report.getUserId()));
+ BeanUtils.copyProperties(report, reportVXVO);
+ reportVXVO.setLocation(user.getLocation());
+ reportVXVO.setWorkingLocation(user.getWorkingLocation());
+ reportVXVO.setSex(user.getSex());
+ reportVXVO.setRealName(user.getRealName());
+ reportVXVO.setUserIdCard(user.getUserIdcard());
+ reportVXVO.setDescription(causeDao.selectOne(new LambdaQueryWrapper<Cause>().eq(Cause::getId, reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id)).getCauseId())).getName());
+ return reportVXVO;
+ }
+
+ @Override
+ public NewCauseVo rejectCauseList(Integer id) {
+ Report report = reportDao.selectOne(new LambdaQueryWrapper<Report>().eq(Report::getId, id));
+ Cause cause = causeDao.selectOne(new LambdaQueryWrapper<Cause>().eq(Cause::getId, report.getCauseId()));
+ NewCauseVo newCauseVo = new NewCauseVo();
+ newCauseVo.setId(cause.getId());
+ newCauseVo.setName(cause.getName());
+ return newCauseVo;
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0