From 25945cec9a4d25ad09d7ccb73b1c42c11aa3e8a4 Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期三, 22 三月 2023 16:57:21 +0800 Subject: [PATCH] 2222 --- src/main/java/com/example/jz/service/impl/CauseServiceImpl.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 4 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 f30d942..2a0731c 100644 --- a/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/CauseServiceImpl.java @@ -6,6 +6,8 @@ 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; @@ -18,10 +20,12 @@ 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; import com.example.jz.service.UserService; +import com.example.jz.utils.IdUtils; import lombok.SneakyThrows; import org.springframework.beans.BeanUtils; import org.springframework.security.core.context.SecurityContextHolder; @@ -31,6 +35,8 @@ import javax.annotation.Resource; import java.util.*; +import java.util.function.Function; +import java.util.function.Predicate; import java.util.stream.Collectors; /** @@ -152,6 +158,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(); @@ -166,6 +207,10 @@ Cause cause = new Cause(); BeanUtils.copyProperties(causeDto, cause); cause.setId(id); + groupDao.update(null, Wrappers.lambdaUpdate(Group.class) + .set(Group::getGroupName, causeDto.getName()) + .set(Group::getUserId, causeDto.getUserId()) + .eq(Group::getCauseId, id)); return causeDao.updateById(cause); } @@ -203,11 +248,15 @@ @Override public void deleteCause(Integer id) { + List<Report> reports = reportDao.selectList(new LambdaQueryWrapper<Report>().eq(Report::getCauseId, id)); + for (Report report : reports) { + reportDao.deleteById(report.getId()); + } causeDao.deleteById(id); Group group = groupDao.selectOne(new LambdaQueryWrapper<Group>().eq(Group::getCauseId, id)); - if (group!=null){ - messageDao.delete(new LambdaQueryWrapper<Message>().eq(Message::getGroupId,group.getId())); - groupUserDao.delete(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getGroupId,group.getId())); + if (group != null) { + messageDao.delete(new LambdaQueryWrapper<Message>().eq(Message::getGroupId, group.getId())); + groupUserDao.delete(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getGroupId, group.getId())); } groupDao.delete(new QueryWrapper<Group>().eq("cause_id", id)); } @@ -236,6 +285,7 @@ a -> { Cause cause = new Cause(); BeanUtils.copyProperties(a, cause); + cause.setNumber(IdUtils.getAduitId()); if (StringUtils.isBlank(a.getStatus())) { throw new BusinessException("鐘舵�佷笉鑳戒负绌�"); } @@ -306,7 +356,7 @@ @Override public List<Map<String, String>> getCauseIdAndName() { ArrayList<Map<String, String>> maps = new ArrayList<>(); - causeDao.selectList(null).stream().forEach(a -> { + causeDao.selectList(new QueryWrapper<Cause>().eq("status", 0).or().eq("status", 2)).stream().forEach(a -> { Map<String, String> map = new HashMap<>(); map.put("id", a.getId().toString()); map.put("name", a.getName()); -- Gitblit v1.8.0