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 |  126 +++++++++++++++++++++++------------------
 1 files changed, 71 insertions(+), 55 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 36555b4..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,6 +18,7 @@
 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;
@@ -42,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;
 
 /**
@@ -105,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) {
@@ -265,12 +270,23 @@
         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(reportVXVO, report);
+        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