From 48e1a3658117ebda9270d87092cfb0d31a634b92 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期四, 21 七月 2022 15:07:00 +0800
Subject: [PATCH] bug修改

---
 src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java   |    9 ++-
 src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java |   51 +++++++++++++++++
 src/main/java/com/example/jz/modle/entity/Report.java            |    2 
 src/main/java/com/example/jz/controller/ReportController.java    |   13 ++++
 src/main/java/com/example/jz/modle/vo/CauseVo.java               |    4 +
 src/main/java/com/example/jz/service/impl/CauseServiceImpl.java  |   15 ++++-
 src/main/resources/application.yml                               |    2 
 src/main/java/com/example/jz/service/impl/ReportServiceImpl.java |   42 +++++---------
 8 files changed, 102 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/ReportController.java b/src/main/java/com/example/jz/controller/ReportController.java
index 2448a01..6ea3049 100644
--- a/src/main/java/com/example/jz/controller/ReportController.java
+++ b/src/main/java/com/example/jz/controller/ReportController.java
@@ -13,7 +13,9 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
+import lombok.SneakyThrows;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -64,7 +66,7 @@
     /**
      * 鎶ユ
      *
-     * @param AddReportDto 瀹炰綋瀵硅薄
+     * @param addReportDto 瀹炰綋瀵硅薄
      * @return 鏂板缁撴灉
      */
     @PostMapping
@@ -116,5 +118,14 @@
     public void exportReport(@RequestParam(value = "id") Integer id, HttpServletResponse response) {
         reportService.exportReporter(id, response);
     }
+
+    @ApiOperation(httpMethod = "POST", value = "妗堜欢鍙�-鎶ユ浜哄憳-鎶ユ浜哄憳瀵煎叆")
+    @PostMapping("/upload")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    @SneakyThrows
+    public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) {
+        reportService.loadFile(multipartFile);
+        return R.ok();
+    }
 }
 
diff --git a/src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java b/src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java
new file mode 100644
index 0000000..03b0445
--- /dev/null
+++ b/src/main/java/com/example/jz/modle/dto/UploadExcelReportDto.java
@@ -0,0 +1,51 @@
+package com.example.jz.modle.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.enums.BooleanEnum;
+import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
+import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
+import com.alibaba.excel.metadata.data.ImageData;
+import com.alibaba.excel.metadata.data.WriteCellData;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+@ApiModel(description = "妗堜欢鍖�-妗堜欢浜哄憳-瀵煎叆", value = "ExportExcelReportVo")
+public class UploadExcelReportDto {
+
+    // TODO: 2022/7/19 浜虹収鐗�
+    @ExcelProperty(value = "鎶ユ浜�", index = 0)
+    private String realName;
+
+    @ExcelProperty(value = "鎵嬫満鍙风爜", index = 1)
+    private String userMobile;
+
+    @ExcelProperty(value = "韬唤璇佸彿", index = 2)
+    private String userIdcard;
+
+    //鏄惁浠e姙 1锛堜唬鍔烇級 0锛堜笉鏄唬鍔烇級
+    private String isCommission;
+    //琚獥鏃堕棿
+    @ExcelProperty(value = "琚獥鏃堕棿", index = 3)
+    private Date Time;
+
+    //娑夋閲戦
+    @ExcelProperty(value = "娑夋閲戦", index = 4)
+    private Double amountInvolved;
+
+    //琛ュ厖淇℃伅
+    @ExcelProperty(value = "琛ュ厖淇℃伅", index = 5)
+    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+    private String information;
+
+    @ExcelProperty(value = "鍏宠仈妗堜欢",index = 7)
+    private String causeName;
+
+    @ExcelProperty(value = "妗堜欢鏉愭枡", index = 6)
+    private WriteCellData<List<ImageData>> writeCellData;
+}
diff --git a/src/main/java/com/example/jz/modle/entity/Report.java b/src/main/java/com/example/jz/modle/entity/Report.java
index 260ef99..d6168f2 100644
--- a/src/main/java/com/example/jz/modle/entity/Report.java
+++ b/src/main/java/com/example/jz/modle/entity/Report.java
@@ -58,6 +58,8 @@
     private String information;
     //妗堜欢Id
     private Integer causeId;
+    //妗堜欢鎻忚堪
+    private String reportDescription;
 
     /**
      * 鑾峰彇涓婚敭鍊�
diff --git a/src/main/java/com/example/jz/modle/vo/CauseVo.java b/src/main/java/com/example/jz/modle/vo/CauseVo.java
index 24e09ea..50a8eac 100644
--- a/src/main/java/com/example/jz/modle/vo/CauseVo.java
+++ b/src/main/java/com/example/jz/modle/vo/CauseVo.java
@@ -1,5 +1,6 @@
 package com.example.jz.modle.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -23,6 +24,7 @@
 
     //绗竴娆℃鍙戞椂闂�
     @ApiModelProperty(dataType = "Date", value = "绗竴娆℃鍙戞椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date firstTime;
 
     //鍒涘缓鏃堕棿
@@ -31,7 +33,7 @@
 
     //鐘舵�� 0鏈鏍� 1涓嶄簣绔嬫 2鍙楃悊涓� 3宸茬粨妗�
     @ApiModelProperty(dataType = "String", value = "鐘舵�� 0鏈鏍� 1涓嶄簣绔嬫 2鍙楃悊涓� 3宸茬粨妗�")
-    private String status;
+    private Integer status;
 
     //璐熻矗浜篿d
     @ApiModelProperty(dataType = "Integer", value = "璐熻矗浜哄悕绉�")
diff --git a/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java b/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
index 7003186..b557bae 100644
--- a/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
+++ b/src/main/java/com/example/jz/modle/vo/ExportExcelReportVo.java
@@ -27,7 +27,7 @@
     @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
     private String realName;
 
-    @ExcelProperty(value = "鎵嬫満鍙�", index = 1)
+    @ExcelProperty(value = "鎵嬫満鍙风爜", index = 1)
     @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
     private String userMobile;
 
@@ -44,12 +44,15 @@
     @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
     private Double amountInvolved;
 
+    @ExcelProperty(value = "妗堜欢鎻忚堪",index = 5)
+    @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
+    private String reportDescription;
     //琛ュ厖淇℃伅
-    @ExcelProperty(value = "琛ュ厖淇℃伅", index = 5)
+    @ExcelProperty(value = "琛ュ厖淇℃伅", index = 6)
     @ContentStyle(wrapped = BooleanEnum.TRUE, horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
     private String information;
 
-    @ExcelProperty(value = "妗堜欢鏉愭枡", index = 6)
+    @ExcelProperty(value = "妗堜欢鏉愭枡", index = 7)
     @ColumnWidth(120)
     private WriteCellData<List<ImageData>> writeCellData;
 }
diff --git a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
index 85c5762..f5156b6 100644
--- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -161,7 +161,9 @@
         EasyExcel.read(multipartFile.getInputStream(),CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() {
                     @Override
                     public void invoke(CauseLoadDto data, AnalysisContext context) {
-                        causeLoadDtos.add(data);
+                        if (StringUtils.isNotBlank(data.getName())&&StringUtils.isNotBlank(data.getUserName())){
+                            causeLoadDtos.add(data);
+                        }
                     }
 
                     @Override
@@ -200,8 +202,15 @@
                     if (userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName()))==null){
                         throw new BusinessException("璐熻矗浜轰笉瀛樺湪");
                     }
-                    cause.setUserId(userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId());
-                    causeDao.insert(cause);
+                    Integer id = userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId();
+                    cause.setUserId(id);
+                    causeService.save(cause);
+                    Group group = new Group();
+                    group.setCtime(new Date());
+                    group.setUserId(id);
+                    group.setGroupName(a.getName());
+                    group.setCauseId(cause.getId());
+                    groupDao.insert(group);
                 });
     }
 
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 1cac461..d6f26ba 100644
--- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
+++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -3,31 +3,21 @@
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.metadata.data.ImageData;
 import com.alibaba.excel.metadata.data.WriteCellData;
-import com.alibaba.excel.support.ExcelTypeEnum;
 import com.alibaba.excel.util.IoUtils;
 import com.alibaba.excel.util.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.example.jz.dao.GroupDao;
-import com.example.jz.dao.GroupUserDao;
-import com.example.jz.dao.ReportDao;
-import com.example.jz.dao.UserDao;
+import com.example.jz.dao.*;
 import com.example.jz.modle.dto.AddReportDto;
 import com.example.jz.modle.dto.ReportParamDto;
-import com.example.jz.modle.entity.Group;
-import com.example.jz.modle.entity.GroupUser;
-import com.example.jz.modle.entity.Report;
-import com.example.jz.modle.entity.User;
-import com.example.jz.modle.vo.ReportListVo;
-import com.example.jz.dao.*;
 import com.example.jz.modle.entity.*;
 import com.example.jz.modle.vo.ExportExcelReportVo;
+import com.example.jz.modle.vo.ReportListVo;
 import com.example.jz.service.MinIOService;
 import com.example.jz.service.ReportService;
 import lombok.SneakyThrows;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,13 +25,12 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.io.Serializable;
 import java.net.URL;
 import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
-import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
@@ -113,17 +102,17 @@
                     ArrayList<ImageData> imageDataList = new ArrayList<>();
                     if (StringUtils.isNotBlank(a.getReportMaterials())) {
                         String[] urls = a.getReportMaterials().split(",");
-                        if (urls.length==1){
-                            int width=600;
+                        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);
+                                imageData.setRight(width / 2);
                                 imageDataList.add(imageData);
                             } catch (Exception e) {
                                 throw new RuntimeException(e);
                             }
-                        }else {
+                        } else {
                             for (int i = 0; i < urls.length; i++) {
                                 int width = 600;
                                 try {
@@ -137,16 +126,16 @@
                                 }
                             }
                         }
-                        }
-                        objectWriteCellData.setImageDataList(imageDataList);
-                        exportExcelReportVo.setWriteCellData(objectWriteCellData);
-                        exportExcelReportVos.add(exportExcelReportVo);
+                    }
+                    objectWriteCellData.setImageDataList(imageDataList);
+                    exportExcelReportVo.setWriteCellData(objectWriteCellData);
+                    exportExcelReportVos.add(exportExcelReportVo);
                 }
         );
         String name = causeDao.selectOne(new QueryWrapper<Cause>().eq("id", id)).getName();
-        response.setHeader("Content-disposition", "attachment;filename="+ LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))+URLEncoder.encode(name+".xlsx","utf-8"));
-        response.setCharacterEncoding("utf-8");
         response.setContentType("application/vnd.ms-excel");
+        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);
     }
 
@@ -164,7 +153,7 @@
 
     @Override
     public Page<ReportListVo> getPageByGroupId(Page<ReportListVo> page, ReportParamDto reportParamDto, Integer groupId) {
-        Page<ReportListVo> aaa = reportDao.getPageByGroupId(page, reportParamDto,groupId);
+        Page<ReportListVo> aaa = reportDao.getPageByGroupId(page, reportParamDto, groupId);
         aaa.getRecords().stream().forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*")));
         return aaa;
     }
@@ -190,5 +179,4 @@
                 .setIsCommission("0").setReportTime(new Date());
         return reportDao.insert(report) > 0;
     }
-}
-
+}
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c9fb515..12b725f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 # 绔彛鍙�
 server:
-  port: 8080
+  port: 8081
 
 # spring閰嶇疆
 spring:

--
Gitblit v1.8.0