Browse Source

移除群成员、退出社群接口 init

dev
liuchuang 6 years ago
parent
commit
123b596cf3
  1. 33
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java
  2. 24
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  3. 10
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java
  4. 27
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java
  5. 19
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java
  6. 22
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java
  7. 39
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserRemoveOrQuitFormDTO.java
  8. 33
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java
  9. 23
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java
  10. 15
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
  11. 24
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java
  12. 42
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
  13. 14
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java
  14. 8
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml

33
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java

@ -4,10 +4,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.dto.group.form.*;
import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupModifyAvatarFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUsersFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
@ -144,4 +141,32 @@ public class ApiGroupController {
return groupService.listOfMember(formDto); return groupService.listOfMember(formDto);
} }
/**
*
* 移除社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:35
*/
@PostMapping("removeMember")
public Result removeMember(@LoginUser TokenDto userDetail, @RequestBody GroupUserRemoveOrQuitFormDTO formDto) {
return groupService.removeMember(userDetail, formDto);
}
/**
*
* 退出社群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:40
*/
@PostMapping("quitGroup")
public Result quitGroup(@LoginUser TokenDto userDetail, @RequestBody GroupUserRemoveOrQuitFormDTO formDto) {
return groupService.quitGroup(userDetail, formDto);
}
} }

24
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java

@ -121,4 +121,28 @@ public interface GroupFeignClient {
*/ */
@GetMapping(value = "group/epdc-app/group/listOfMember", consumes = MediaType.APPLICATION_JSON_VALUE) @GetMapping(value = "group/epdc-app/group/listOfMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto); Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto);
/**
*
* 移除社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:47
*/
@PostMapping(value = "group/epdc-app/group/removeMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result removeMember(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 退出社群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:47
*/
@PostMapping(value = "group/epdc-app/group/quitGroup", consumes = MediaType.APPLICATION_JSON_VALUE)
Result quitGroup(GroupUserRemoveOrQuitFormDTO formDto);
} }

10
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java

@ -60,4 +60,14 @@ public class GroupFeignClientFallback implements GroupFeignClient {
public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) { public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listOfMember", formDto); return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listOfMember", formDto);
} }
@Override
public Result removeMember(GroupUserRemoveOrQuitFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "removeMember", formDto);
}
@Override
public Result quitGroup(GroupUserRemoveOrQuitFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "quitGroup", formDto);
}
} }

27
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java

@ -3,10 +3,7 @@ package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; import com.elink.esua.epdc.dto.group.form.*;
import com.elink.esua.epdc.dto.group.form.GroupIntroductionFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupModifyAvatarFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUsersFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO;
@ -111,4 +108,26 @@ public interface GroupService {
*/ */
Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto); Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto);
/**
*
* 移除社群成员
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:43
*/
Result removeMember(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 退出社群
*
* @params [userDetail, formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:43
*/
Result quitGroup(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto);
} }

19
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java

@ -132,4 +132,23 @@ public class GroupServiceImpl implements GroupService {
public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) { public Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto) {
return groupFeignClient.listOfMember(formDto); return groupFeignClient.listOfMember(formDto);
} }
@Override
public Result removeMember(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setOperatorId(userDetail.getUserId());
return groupFeignClient.removeMember(formDto);
}
@Override
public Result quitGroup(TokenDto userDetail, GroupUserRemoveOrQuitFormDTO formDto) {
if (null == userDetail) {
return new Result().error("获取用户信息失败");
}
formDto.setOperatorId(userDetail.getUserId());
formDto.setUserId(userDetail.getUserId());
return groupFeignClient.quitGroup(formDto);
}
} }

22
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java

@ -22,7 +22,17 @@ public interface GroupNoticeConstant {
/** /**
* 社群解散 * 社群解散
*/ */
String NOTICE_GROUP_DISBAND = "你的社群【已解散】"; String NOTICE_GROUP_DISBAND = "你加入的社群已被解散";
/**
* 删除社群成员
*/
String NOTICE_GROUP_REMOVED_MEMBER = "你已被群主移除社群";
/**
* 退出社群
*/
String NOTICE_GROUP_QUIT = "已退出社群";
/** /**
* 我的消息类型0审核通知 * 我的消息类型0审核通知
@ -53,4 +63,14 @@ public interface GroupNoticeConstant {
* 消息所属业务类型社群审核未通过或解散 * 消息所属业务类型社群审核未通过或解散
*/ */
String NOTICE_BUSINESS_TYPE_GROUP_NOT_PASSED_OR_DISBAND = "groupNotPassedOrDisband"; String NOTICE_BUSINESS_TYPE_GROUP_NOT_PASSED_OR_DISBAND = "groupNotPassedOrDisband";
/**
* 消息所属业务类型移除社群成员
*/
String NOTICE_BUSINESS_TYPE_GROUP_REMOVED_MEMBER = "groupRemovedMember";
/**
* 消息所属业务类型退出社群
*/
String NOTICE_BUSINESS_TYPE_GROUP_QUIT = "groupQuit";
} }

39
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserRemoveOrQuitFormDTO.java

@ -0,0 +1,39 @@
package com.elink.esua.epdc.dto.group.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
*
* 删除社群成员或退出社群Form DTO
*
* @Authorliuchuang
* @Date2019/10/23 10:04
*/
@Data
public class GroupUserRemoveOrQuitFormDTO implements Serializable {
private static final long serialVersionUID = -4095328797214022209L;
/**
* 操作人ID
*/
private String operatorId;
/**
* 社群ID
*/
@NotBlank(message = "社群ID不能为空")
private String groupId;
/**
* 用户ID
*/
private String userId;
/**
* 状态
*/
private Integer state;
}

33
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.modules.group.controller;
import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.enums.GroupUserStateEnum;
import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO;
import com.elink.esua.epdc.dto.group.form.*; import com.elink.esua.epdc.dto.group.form.*;
import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO;
@ -157,4 +158,36 @@ public class AppGroupController {
return groupService.listOfMember(formDto); return groupService.listOfMember(formDto);
} }
/**
*
* 移除社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:52
*/
@PostMapping("removeMember")
public Result removeMember(@RequestBody GroupUserRemoveOrQuitFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
formDto.setState(GroupUserStateEnum.GROUP_USER_STATE_REMOVED.getValue());
return groupService.modifyMemberState(formDto);
}
/**
*
* 退出社群
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 10:52
*/
@PostMapping("quitGroup")
public Result quitGroup(@RequestBody GroupUserRemoveOrQuitFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
formDto.setState(GroupUserStateEnum.GROUP_USER_STATE_RETIRED.getValue());
return groupService.modifyMemberState(formDto);
}
} }

23
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/UserGroupDao.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.group.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity; import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@ -67,5 +68,27 @@ public interface UserGroupDao extends BaseDao<UserGroupEntity> {
* @since 2019/10/22 15:57 * @since 2019/10/22 15:57
*/ */
UserGroupDTO selectOneOfLordInfoByGroupId(String groupId); UserGroupDTO selectOneOfLordInfoByGroupId(String groupId);
/**
*
* 操作社群成员
*
* @params [formDto]
* @return void
* @author liuchuang
* @since 2019/10/23 12:00
*/
void updateMemberState(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 获取社群成员信息
*
* @params [groupId, userId, state]
* @return com.elink.esua.epdc.dto.group.UserGroupDTO
* @author liuchuang
* @since 2019/10/23 13:47
*/
UserGroupDTO selectOnOfUserInfo(String groupId, String userId, Integer state);
} }

15
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java

@ -181,7 +181,7 @@ public interface GroupService extends BaseService<GroupEntity> {
/** /**
* *
* 修改群头像 * 移动端-修改群头像
* *
* @params [formDto] * @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
@ -192,7 +192,7 @@ public interface GroupService extends BaseService<GroupEntity> {
/** /**
* *
* 社群成员列表待审核/审核通过 * 移动端-社群成员列表待审核/审核通过
* *
* @params [formDto] * @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
@ -200,4 +200,15 @@ public interface GroupService extends BaseService<GroupEntity> {
* @since 2019/10/23 9:19 * @since 2019/10/23 9:19
*/ */
Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto); Result<List<GroupUserListResultDTO>> listOfMember(GroupUsersFormDTO formDto);
/**
*
* 移动端-操作社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 11:01
*/
Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto);
} }

24
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java

@ -19,7 +19,9 @@ package com.elink.esua.epdc.modules.group.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity; import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
@ -115,4 +117,26 @@ public interface UserGroupService extends BaseService<UserGroupEntity> {
* @since 2019/10/22 15:58 * @since 2019/10/22 15:58
*/ */
UserGroupDTO getLordInfoByGroupId(String groupId); UserGroupDTO getLordInfoByGroupId(String groupId);
/**
*
* 操作社群成员
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/10/23 11:20
*/
Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto);
/**
*
* 获取社群成员信息
*
* @params [groupId, userId, state]
* @return com.elink.esua.epdc.dto.group.UserGroupDTO
* @author liuchuang
* @since 2019/10/23 13:46
*/
UserGroupDTO getGroupUserInfo(String groupId, String userId, Integer state);
} }

42
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
@ -157,7 +158,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
// 组装发送消息内容 // 组装发送消息内容
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO(); EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setContent("社群:《".concat(entity.getGroupName()).concat("》")); informationFormDTO.setContent("《".concat(entity.getGroupName()).concat("》"));
informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE); informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_NOT_PASSED_OR_DISBAND); informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_NOT_PASSED_OR_DISBAND);
informationFormDTO.setBusinessId(dto.getId()); informationFormDTO.setBusinessId(dto.getId());
@ -256,4 +257,43 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return new Result<List<GroupUserListResultDTO>>().ok(data); return new Result<List<GroupUserListResultDTO>>().ok(data);
} }
@Override
public Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto) {
// 获取成员信息
UserGroupDTO userGroupDto = userGroupService.getGroupUserInfo(formDto.getGroupId(), formDto.getOperatorId(), GroupUserStateEnum.GROUP_USER_STATE_EXAMINATION_PASSED.getValue());
// 获取群主信息
UserGroupDTO lordGroupDto = userGroupService.getLordInfoByGroupId(formDto.getGroupId());
// 获取社群信息
GroupEntity groupEntity = baseDao.selectById(formDto.getGroupId());
// 组装发送消息内容
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setContent("《".concat(groupEntity.getGroupName()).concat("》"));
informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_GROUP_NOTICE);
informationFormDTO.setBusinessId(formDto.getGroupId());
if (GroupUserStateEnum.GROUP_USER_STATE_REMOVED.getValue().equals(formDto.getState())) {
// 移除社群成员
if (!NumConstant.ONE_STR.equals(userGroupDto.getLordFlag())) {
return new Result().error("操作失败,只有群主可以删除社群成员");
}
informationFormDTO.setUserId(formDto.getUserId());
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_REMOVED_MEMBER);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_REMOVED_MEMBER);
} else if (GroupUserStateEnum.GROUP_USER_STATE_RETIRED.getValue().equals(formDto.getState())){
// 退出社群
if (NumConstant.ONE_STR.equals(userGroupDto.getLordFlag())) {
return new Result().error("操作失败,群主不可以退出社群");
}
informationFormDTO.setUserId(lordGroupDto.getUserId());
informationFormDTO.setTitle(userGroupDto.getNickname().concat(GroupNoticeConstant.NOTICE_GROUP_QUIT));
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_QUIT);
}
// 更新社群成员状态
userGroupService.modifyMemberState(formDto);
// 发送通知
newsTask.insertUserInformation(informationFormDTO);
return new Result();
}
} }

14
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java

@ -23,7 +23,9 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.group.dao.UserGroupDao; import com.elink.esua.epdc.modules.group.dao.UserGroupDao;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity; import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
@ -105,4 +107,16 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
return baseDao.selectOneOfLordInfoByGroupId(groupId); return baseDao.selectOneOfLordInfoByGroupId(groupId);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public Result modifyMemberState(GroupUserRemoveOrQuitFormDTO formDto) {
baseDao.updateMemberState(formDto);
return new Result();
}
@Override
public UserGroupDTO getGroupUserInfo(String groupId, String userId, Integer state) {
return baseDao.selectOnOfUserInfo(groupId, userId, state);
}
} }

8
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml

@ -49,4 +49,12 @@
AND GROUP_ID = #{groupId} AND GROUP_ID = #{groupId}
</select> </select>
<update id="updateMemberState">
UPDATE epdc_user_group SET STATE = #{state} WHERE GROUP_ID = #{groupId} AND USER_ID = #{userId} AND DEL_FLAG = '0'
</update>
<select id="selectOnOfUserInfo" resultType="com.elink.esua.epdc.dto.group.UserGroupDTO">
SELECT * FROM epdc_user_group WHERE DEL_FLAG = '0' AND GROUP_ID = #{groupId} AND USER_ID = #{userId} AND STATE = #{state}
</select>
</mapper> </mapper>
Loading…
Cancel
Save