From 453e847669df9f22266b073bda76523726913ede Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 26 十二月 2022 11:08:18 +0800 Subject: [PATCH] fix: 群成员重复 --- src/main/java/com/example/jz/service/impl/ReportServiceImpl.java | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 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 2d39893..bec4f96 100644 --- a/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/ReportServiceImpl.java @@ -34,9 +34,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,7 +74,7 @@ * @return */ @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public Boolean audit(Report report) { // 1. 鏇存柊鎶ユ琛� report.setStatus(1); @@ -83,8 +83,15 @@ // 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); + List<GroupUser> groupUserList = groupUserDao.selectList(new LambdaQueryWrapper<GroupUser>().eq(GroupUser::getUserId, group.getUserId())); + if (!groupUserList + .stream() + .map(item -> item.getUserId()) + .collect(Collectors.toList()) + .contains(report.getId())) { + GroupUser groupUser = new GroupUser().setGroupId(group.getId()).setUserId(report.getId()).setCtime(new Date()).setBanSpeech(0); + return groupUserDao.insert(groupUser) == 1 ? true : false; + } return true; } -- Gitblit v1.8.0