From a5a0ff50ea4be9a7e7d0c6f805ed26809e3b183e Mon Sep 17 00:00:00 2001 From: shiyue <1211061228@qq.com> Date: 星期四, 16 二月 2023 12:48:42 +0800 Subject: [PATCH] 2023-02-16更新 --- src/main/java/com/example/jz/service/impl/ReportServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 10 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 659c1f2..5ae21e5 100644 --- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java @@ -1,6 +1,8 @@ package com.example.jz.service.impl; import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.metadata.data.ImageData; import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.util.IoUtils; @@ -12,6 +14,7 @@ import com.example.jz.dao.*; import com.example.jz.modle.PageParam; import com.example.jz.modle.dto.AddReportDto; +import com.example.jz.modle.dto.AddReportLoadDto; import com.example.jz.modle.dto.ReportParamDto; import com.example.jz.modle.entity.*; import com.example.jz.modle.vo.ExportExcelReportVo; @@ -25,6 +28,7 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; @@ -34,9 +38,9 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 鎶ユ琛�(Report)琛ㄦ湇鍔″疄鐜扮被 @@ -74,16 +78,19 @@ * @return */ @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public Boolean audit(Report report) { // 1. 鏇存柊鎶ユ琛� report.setStatus(1); + report.setIsInGroup(1); reportDao.updateById(report); // 2. 鏇存柊缇ょ敤鎴疯〃 Group group = groupDao.selectOne(new LambdaQueryWrapper<>(Group.class) .eq(Group::getCauseId, report.getCauseId())); - GroupUser groupUser = new GroupUser().setGroupId(group.getId()).setUserId(report.getId()).setCtime(new Date()).setBanSpeech(0); - groupUserDao.insert(groupUser); + if (!groupUserDao.selectUserList(group.getId()).contains(report.getUserId())) { + GroupUser groupUser = new GroupUser().setGroupId(group.getId()).setUserId(report.getId()).setCtime(new Date()).setBanSpeech(0); + return groupUserDao.insert(groupUser) == 1 ? true : false; + } return true; } @@ -153,10 +160,7 @@ @Override public Page<ReportListVo> getPage(Page<ReportListVo> page, ReportParamDto reportParamDto) { - Page<ReportListVo> aaa = reportDao.getPage(page, reportParamDto); - aaa.getRecords().stream() - .forEach(x -> x.setIdcard(x.getIdcard().replaceAll("(?<=[\\d]{3})\\d(?=[\\d]{4})", "*"))); - return aaa; + return reportDao.getPage(page, reportParamDto); } @Override @@ -206,9 +210,39 @@ .setCtime(new Date()) .setStatus(0) .setIsInGroup(0) - .setReportMethod("鐜板満褰曞叆") - .setIsCommission("0").setReportTime(new Date()) + .setReportMethod("鐜板満鎶ユ") + .setIsCommission("0") + .setReportTime(new Date()) .setCauseId(addReportDto.getCauseId()); return reportService.save(report); } + + @Override + public List<Report> listGroup(Integer id) { + return reportDao.selectListGroup(id); + } + + @Override + @SneakyThrows + public void loadFileReport(MultipartFile multipartFile, Integer causeId) { + EasyExcel.read(multipartFile.getInputStream(), AddReportLoadDto.class, new AnalysisEventListener<AddReportLoadDto>() { + @Override + public void invoke(AddReportLoadDto data, AnalysisContext context) { + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(data.getReporterName()) && com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(data.getIdcard())) { + AddReportDto addReportDto = new AddReportDto(); + BeanUtils.copyProperties(data, addReportDto); + addReportDto.setCauseId(causeId); + addReport(addReportDto); + } + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + + } + }) + .autoCloseStream(true) + .doReadAll(); + } } \ No newline at end of file -- Gitblit v1.8.0