From 028bd9c7cccb1ba7569636c631fa3c83a16d3e48 Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期日, 23 四月 2023 17:29:31 +0800 Subject: [PATCH] 用户导出,案件成员导出 --- src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | 70 ++++++++++++++++++++++++++++++++-- 1 files changed, 65 insertions(+), 5 deletions(-) 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 085d98b..6c4b793 100644 --- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java @@ -3,23 +3,21 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.core.toolkit.support.SFunction; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.*; import com.example.jz.enums.CauseEnums; import com.example.jz.exception.BusinessException; 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.CauseDto; -import com.example.jz.modle.dto.CauseLoadDto; +import com.example.jz.modle.dto.*; import com.example.jz.modle.entity.*; import com.example.jz.modle.vo.CauseReportVo; import com.example.jz.modle.vo.CauseVo; +import com.example.jz.modle.vo.NewCauseVo; import com.example.jz.modle.vo.UserVo; import com.example.jz.service.CauseService; import com.example.jz.service.ReportService; @@ -34,6 +32,8 @@ import javax.annotation.Resource; import java.util.*; +import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -155,6 +155,41 @@ } @Override + public List<NewCauseVo> getVxCauseList(String phone) { + + User user = userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getUserMobile, phone)); + + List<Report> reports = reportDao.selectList(new LambdaQueryWrapper<Report>().eq(Report::getUserId, user.getId())); + + List<Integer> list = reports.stream() + .map(item -> item.getCauseId()) + .filter(integer -> integer != null) + .distinct() + .collect(Collectors.toList()); + List<NewCauseVo> res; + if (!Objects.isNull(list) && list.size()!= 0){ + List<Cause> causes = causeDao.selectList(new LambdaQueryWrapper<Cause>().notIn(Cause::getId, list)); + res = causes.stream() + .map(item -> { + NewCauseVo newCauseVo = new NewCauseVo(); + newCauseVo.setName(item.getName()); + newCauseVo.setId(item.getId()); + return newCauseVo; + }).collect(Collectors.toList()); + }else { + List<Cause> causes = causeDao.selectList(null); + res = causes.stream() + .map(item -> { + NewCauseVo newCauseVo = new NewCauseVo(); + newCauseVo.setName(item.getName()); + newCauseVo.setId(item.getId()); + return newCauseVo; + }).collect(Collectors.toList()); + } + return res; + } + + @Override public List<UserVo> getManagerList() { return userDao.selectList(new QueryWrapper<User>().eq("role", 1)).stream().map(a -> { UserVo userVo = new UserVo(); @@ -204,6 +239,31 @@ } @Override + public List<CauseReportExpDto> getExpList(Integer causeId) { + List<Report> reports = reportDao.selectList(Wrappers.<Report>lambdaQuery().eq(Report::getCauseId, causeId)); + List<Integer> userIds = reports.stream().map(report -> report.getUserId()).collect(Collectors.toList()); + List<User> users = userDao.selectList(Wrappers.<User>lambdaQuery().in(User::getId, userIds)); + List<CauseReportExpDto> res = users.stream().map(new Function<User, CauseReportExpDto>() { + @Override + public CauseReportExpDto apply(User user) { + CauseReportExpDto build = CauseReportExpDto.builder() + .realName(user.getRealName()) + .userMobile(user.getUserMobile()) + .userIdcard(user.getUserMobile()) + .userIdcard(user.getUserIdcard()) + .sex(user.getSex()) + .location(user.getLocation()) + .workingLocation(user.getWorkingLocation()) + .ctime(user.getCtime()) + .userMemo(user.getUserMemo()) + .build(); + return build; + } + }).collect(Collectors.toList()); + return res; + } + + @Override public List<Announcement> getGroupAnnouncement(Integer groupId) { return announcementDao.selectList(new QueryWrapper<Announcement>().eq("group_id", groupId)); } -- Gitblit v1.8.0