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