Browse Source

审核入群申请接口 init

dev
liuchuang 6 years ago
parent
commit
dba08f8396
  1. 14
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java
  2. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java
  3. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java
  4. 11
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java
  5. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java
  6. 42
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/constant/GroupNoticeConstant.java
  7. 29
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/UserReviewDto.java
  8. 31
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserReviewFormDTO.java
  9. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupUserListResultDTO.java
  10. 15
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java
  11. 12
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/UserGroupService.java
  12. 6
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
  13. 60
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/UserGroupServiceImpl.java
  14. 2
      esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/UserGroupDao.xml

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

@ -196,4 +196,18 @@ public class ApiGroupController {
return groupService.saveGroupUsers(formDto);
}
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:22
*/
@PostMapping("reviewApply")
public Result reviewApply(@RequestBody GroupUserReviewFormDTO formDto) {
return groupService.updateGroupUsers(formDto);
}
}

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

@ -168,4 +168,16 @@ public interface GroupFeignClient {
*/
@PostMapping(value = "group/epdc-app/usergroup/addMember", consumes = MediaType.APPLICATION_JSON_VALUE)
Result addMember(GroupAddUserFormDTO formDto);
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:26
*/
@PostMapping(value = "group/epdc-app/usergroup/reviewApply", consumes = MediaType.APPLICATION_JSON_VALUE)
Result reviewApply(GroupUserReviewFormDTO formDto);
}

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

@ -79,4 +79,9 @@ public class GroupFeignClientFallback implements GroupFeignClient {
public Result addMember(GroupAddUserFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "addMember", formDto);
}
@Override
public Result reviewApply(GroupUserReviewFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "reviewApply", formDto);
}
}

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

@ -151,4 +151,15 @@ public interface GroupService {
*/
Result saveGroupUsers(GroupAddUserFormDTO formDto);
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:23
*/
Result updateGroupUsers(GroupUserReviewFormDTO formDto);
}

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

@ -164,4 +164,9 @@ public class GroupServiceImpl implements GroupService {
public Result saveGroupUsers(GroupAddUserFormDTO formDto) {
return groupFeignClient.addMember(formDto);
}
@Override
public Result updateGroupUsers(GroupUserReviewFormDTO formDto) {
return groupFeignClient.reviewApply(formDto);
}
}

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

@ -27,17 +27,37 @@ public interface GroupNoticeConstant {
/**
* 删除社群成员
*/
String NOTICE_GROUP_REMOVED_MEMBER = "你已被群主移除社群";
String NOTICE_GROUP_USER_REMOVED_MEMBER = "你已被群主移除社群";
/**
* 邀请入群
*/
String NOTICE_GROUP_INVITED = "您已加入社群";
String NOTICE_GROUP_USER_INVITED = "您已加入社群";
/**
* 邀请入群内容
*/
String NOTICE_GROUP_INVITED_CONTENT = "您已被群主邀请加入groupName社群,快进入社群看看吧。";
String NOTICE_GROUP_USER_INVITED_CONTENT = "您已被群主邀请加入groupName社群,快进入社群看看吧。";
/**
* 入群申请通过
*/
String NOTICE_GROUP_USER_REVIEW_PASSED = "入群申请【审核通过】";
/**
* 入群申请不通过
*/
String NOTICE_GROUP_USER_REVIEW_NOT_PASSED = "入群申请【审核不通过】";
/**
* 入群申请通过内容
*/
String NOTICE_GROUP_USER_REVIEW_PASSED_CONTENT = "您加入groupName社群的申请,审核已通过,快进入社群吧。";
/**
* 入群申请不通过内容
*/
String NOTICE_GROUP_USER_REVIEW_NOT_PASSED_CONTENT = "您加入groupName社群的申请,审核未通过,原因:auditOpinion";
/**
* 退出社群
@ -77,15 +97,25 @@ public interface GroupNoticeConstant {
/**
* 消息所属业务类型移除社群成员
*/
String NOTICE_BUSINESS_TYPE_GROUP_REMOVED_MEMBER = "groupRemovedMember";
String NOTICE_BUSINESS_TYPE_GROUP_USER_REMOVED_MEMBER = "groupRemovedMember";
/**
* 消息所属业务类型退出社群
*/
String NOTICE_BUSINESS_TYPE_GROUP_QUIT = "groupQuit";
String NOTICE_BUSINESS_TYPE_GROUP_USER_QUIT = "groupQuit";
/**
* 社群邀请
*/
String NOTICE_BUSINESS_TYPE_GROUP_INVITED = "groupInvited";
String NOTICE_BUSINESS_TYPE_GROUP_USER_INVITED = "groupInvited";
/**
* 入群申请通过
*/
String NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_PASSED = "groupUserReviewPassed";
/**
* 入群申请未通过
*/
String NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_NOT_PASS = "groupUserReviewNotPass";
}

29
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/UserReviewDto.java

@ -0,0 +1,29 @@
package com.elink.esua.epdc.dto.group;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Authorliuchuang
* @Date2019/11/6 13:18
*/
@Data
public class UserReviewDto implements Serializable {
private static final long serialVersionUID = 5555206313726765102L;
private String id;
/**
* 审核结果5审核不通过10审核通过
*/
@NotNull(message = "审核结果不能为空")
private Integer state;
/**
* 审核意见
*/
private String auditOpinion;
}

31
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupUserReviewFormDTO.java

@ -0,0 +1,31 @@
package com.elink.esua.epdc.dto.group.form;
import com.elink.esua.epdc.dto.group.UserReviewDto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
*
* 入群审核Form DTO
*
* @Authorliuchuang
* @Date2019/11/6 11:07
*/
@Data
public class GroupUserReviewFormDTO implements Serializable {
private static final long serialVersionUID = 490810653280939342L;
/**
* 社群ID
*/
@NotBlank(message = "社群ID不能为空")
private String groupId;
/**
* 审核用户
*/
private List<UserReviewDto> userReviewDtoList;
}

6
esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupUserListResultDTO.java

@ -3,6 +3,7 @@ package com.elink.esua.epdc.dto.group.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
@ -36,4 +37,9 @@ public class GroupUserListResultDTO implements Serializable {
* 群主标识 01
*/
private String lordFlag;
/**
* 申请时间
*/
private Date createdTime;
}

15
esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppUserGroupController.java

@ -6,6 +6,7 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -55,4 +56,18 @@ public class AppUserGroupController {
ValidatorUtils.validateEntity(formDto);
return userGroupService.saveGroupUsers(formDto);
}
/**
*
* 审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:26
*/
@PostMapping("reviewApply")
public Result reviewApply(@RequestBody GroupUserReviewFormDTO formDto) {
return userGroupService.modifyGroupUsers(formDto);
}
}

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

@ -25,6 +25,7 @@ import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
@ -164,4 +165,15 @@ public interface UserGroupService extends BaseService<UserGroupEntity> {
* @since 2019/11/6 9:18
*/
Result saveGroupUsers(GroupAddUserFormDTO formDto);
/**
*
* 移动端审核入群申请
*
* @params [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @author liuchuang
* @since 2019/11/6 13:29
*/
Result modifyGroupUsers(GroupUserReviewFormDTO formDto);
}

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

@ -274,8 +274,8 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
return new Result().error("操作失败,只有群主可以删除社群成员");
}
informationFormDTO.setUserId(formDto.getUserId());
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_REMOVED_MEMBER);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_REMOVED_MEMBER);
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REMOVED_MEMBER);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REMOVED_MEMBER);
} else if (GroupUserStateEnum.GROUP_USER_STATE_RETIRED.getValue().equals(formDto.getState())){
// 退出社群
if (NumConstant.ONE_STR.equals(userGroupDto.getLordFlag())) {
@ -283,7 +283,7 @@ public class GroupServiceImpl extends BaseServiceImpl<GroupDao, GroupEntity> imp
}
informationFormDTO.setUserId(lordGroupDto.getUserId());
informationFormDTO.setTitle(userGroupDto.getNickname().concat(GroupNoticeConstant.NOTICE_GROUP_QUIT));
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_QUIT);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_QUIT);
}
// 更新社群成员状态

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

@ -32,9 +32,11 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.dto.group.GroupDTO;
import com.elink.esua.epdc.dto.group.UserGroupDTO;
import com.elink.esua.epdc.dto.group.UserReviewDto;
import com.elink.esua.epdc.dto.group.form.GroupAddUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserRemoveOrQuitFormDTO;
import com.elink.esua.epdc.dto.group.form.GroupUserReviewFormDTO;
import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO;
import com.elink.esua.epdc.modules.async.NewsTask;
import com.elink.esua.epdc.modules.feign.UserFeignClient;
@ -172,19 +174,19 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
userGroupEntities.add(entity);
}
// 获取社群信息
GroupDTO groupDto = groupService.get(formDto.getGroupId());
// 组装发送消息内容
if (insertBatch(userGroupEntities)) {
// 获取社群信息
GroupDTO groupDto = groupService.get(formDto.getGroupId());
// 组装发送消息内容
for (UserGroupEntity userGroupEntity:
userGroupEntities) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_INVITED_CONTENT.replace("groupName", groupDto.getGroupName()));
informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_INVITED_CONTENT.replace("groupName", groupDto.getGroupName()));
informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_GROUP_NOTICE);
informationFormDTO.setBusinessId(formDto.getGroupId());
informationFormDTO.setUserId(userGroupEntity.getUserId());
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_INVITED);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_INVITED);
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_INVITED);
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_INVITED);
// 发送通知
newsTask.insertUserInformation(informationFormDTO);
@ -195,4 +197,50 @@ public class UserGroupServiceImpl extends BaseServiceImpl<UserGroupDao, UserGrou
return new Result().error();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result modifyGroupUsers(GroupUserReviewFormDTO formDto) {
List<UserGroupEntity> userGroupEntities = new ArrayList<>(formDto.getUserReviewDtoList().size());
UserGroupEntity entity = null;
for (UserReviewDto userReviewDto:
formDto.getUserReviewDtoList()) {
entity = new UserGroupEntity();
entity.setId(userReviewDto.getId());
entity.setState(userReviewDto.getState());
entity.setAuditOpinion(userReviewDto.getAuditOpinion());
userGroupEntities.add(entity);
}
if (updateBatchById(userGroupEntities)) {
// 获取社群信息
GroupDTO groupDto = groupService.get(formDto.getGroupId());
// 组装发送消息内容
for (UserGroupEntity userGroupEntity:
userGroupEntities) {
EpdcInformationFormDTO informationFormDTO = new EpdcInformationFormDTO();
informationFormDTO.setType(GroupNoticeConstant.NOTICE_TYPE_AUDIT_NOTICE);
informationFormDTO.setUserId(userGroupEntity.getUserId());
if (GroupUserStateEnum.GROUP_USER_STATE_AUDIT_NOT_PASSED.getValue().equals(userGroupEntity.getState())) {
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_NOT_PASSED);
informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_NOT_PASSED_CONTENT
.replace("groupName", groupDto.getGroupName())
.replace("auditOpinion", userGroupEntity.getAuditOpinion()));
informationFormDTO.setBusinessId(userGroupEntity.getId());
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_NOT_PASS);
} else {
informationFormDTO.setTitle(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_PASSED);
informationFormDTO.setContent(GroupNoticeConstant.NOTICE_GROUP_USER_REVIEW_PASSED_CONTENT
.replace("groupName", groupDto.getGroupName()));
informationFormDTO.setBusinessId(formDto.getGroupId());
informationFormDTO.setBusinessType(GroupNoticeConstant.NOTICE_BUSINESS_TYPE_GROUP_USER_REVIEW_PASSED);
}
// 发送通知
newsTask.insertUserInformation(informationFormDTO);
}
return new Result();
}
return new Result().error();
}
}

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

@ -27,7 +27,7 @@
</select>
<select id="selectListOfGroupUsersByState" resultType="com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO">
SELECT ID, USER_ID, NICKNAME, USER_AVATAR, LORD_FLAG FROM epdc_user_group WHERE DEL_FLAG = '0' AND STATE = #{state} AND GROUP_ID = #{groupId}
SELECT ID, NICKNAME, USER_AVATAR, LORD_FLAG, CREATED_TIME FROM epdc_user_group WHERE DEL_FLAG = '0' AND STATE = #{state} AND GROUP_ID = #{groupId}
</select>
<select id="selectOneOfLordByGroupId" resultType="com.elink.esua.epdc.dto.group.UserGroupDTO">

Loading…
Cancel
Save