From 697a03a62c5b16142edce755ee70e096875c78a7 Mon Sep 17 00:00:00 2001 From: liuchuang Date: Tue, 19 Nov 2019 08:57:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A4=BE=E7=BE=A4=E6=B5=8B?= =?UTF-8?q?=E8=AF=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elink/esua/epdc/controller/ApiGroupController.java | 2 +- .../modules/group/dao/UserGroupDao.java | 4 ++-- .../modules/group/service/UserGroupService.java | 4 ++-- .../modules/group/service/impl/GroupServiceImpl.java | 9 ++++++++- .../modules/group/service/impl/UserGroupServiceImpl.java | 4 ++-- .../modules/topic/service/impl/TopicServiceImpl.java | 6 ++++-- .../src/main/resources/mapper/group/UserGroupDao.xml | 6 +++++- 7 files changed, 24 insertions(+), 11 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java index 6f132de78..c7d193ba7 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java @@ -137,7 +137,7 @@ public class ApiGroupController { * @since 2019/10/23 9:13 */ @GetMapping("listOfMember") - public Result> listOfMember(@RequestBody GroupUsersFormDTO formDto) { + public Result> listOfMember(GroupUsersFormDTO formDto) { return groupService.listOfMember(formDto); } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java index f4a963428..04f9d237e 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java @@ -85,12 +85,12 @@ public interface UserGroupDao extends BaseDao { * * 获取社群成员信息 * - * @params [groupId, userId, state] + * @params [groupId, userId, states] * @return com.elink.esua.epdc.dto.group.UserGroupDTO * @author liuchuang * @since 2019/10/23 13:47 */ - UserGroupDTO selectOnOfUserInfo(String groupId, String userId, Integer state); + UserGroupDTO selectOnOfUserInfo(String groupId, String userId, int[] states); /** * diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java index a6a816a24..99c455f6c 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java @@ -138,12 +138,12 @@ public interface UserGroupService extends BaseService { * * 获取社群成员信息 * - * @params [groupId, userId, state] + * @params [groupId, userId, states] * @return com.elink.esua.epdc.dto.group.UserGroupDTO * @author liuchuang * @since 2019/10/23 13:46 */ - UserGroupDTO getGroupUserInfo(String groupId, String userId, Integer state); + UserGroupDTO getGroupUserInfo(String groupId, String userId, int[] states); /** * diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java index c26dc6cba..139b678ab 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java @@ -258,7 +258,8 @@ public class GroupServiceImpl extends BaseServiceImpl imp @Override public Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto) { // 获取成员信息 - UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getOperatorId(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); + int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()}; + UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getOperatorId(), states); // 获取群主信息 UserGroupDTO lordGroupDto = userGroupService.getLordInfoByGroupId(formDto.getGroupId()); // 获取社群信息 @@ -297,6 +298,12 @@ public class GroupServiceImpl extends BaseServiceImpl imp @Override @Transactional(rollbackFor = Exception.class) public Result applyForGroup(GroupApplyFormDTO formDto) { + // 检查用户是否已申请入群 + int[] states = {GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()}; + UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getUserId(), states); + if (null != userGroupDto) { + return new Result().error("您已申请过加入该社群,请等待群主审核"); + } UserGroupEntity userGroupEntity = ConvertUtils.sourceToTarget(formDto, UserGroupEntity.class); userGroupEntity.setLordFlag(NumConstant.ZERO_STR); userGroupEntity.setState(GroupUserStateEnum.GROUP_USER_STATE_PENDING_REVIEW.getValue()); diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java index 16a5d26e9..5d7601998 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java @@ -137,8 +137,8 @@ public class UserGroupServiceImpl extends BaseServiceImpl imp // 群主关闭话题 if (NumConstant.ZERO_STR.equals(operatorUser)) { // 获取用户信息 - UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), formDto.getUserId(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); + int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()}; + UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), formDto.getUserId(), states); if (null == userDto || !NumConstant.ONE_STR.equals(userDto.getLordFlag())) { return new Result().error("您不是群主,不可以关闭话题"); } @@ -358,7 +359,8 @@ public class TopicServiceImpl extends BaseServiceImpl imp return new Result().error("话题转议题失败,当前社群已解散"); } // 校验用户身份 - UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), userId, GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()); + int[] states = {GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue()}; + UserGroupDTO userDto = userGroupService.getGroupUserInfo(topicDto.getGroupId(), userId, states); if (null == userDto || !NumConstant.ONE_STR.equals(userDto.getLordFlag())) { return new Result().error("您不是群主,不可以转为议题"); } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml index 6259b8246..923f65006 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml @@ -70,7 +70,11 @@