|
|
@ -317,7 +317,13 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD |
|
|
|
public void accetInvitation(AccetInvitationFormDTO formDTO) { |
|
|
|
//1、申请是否有效
|
|
|
|
GroupInvitationDTO groupInvitationDTO=this.checkLinkValid(formDTO.getInvitationId()); |
|
|
|
//2、进入小组所在的网格
|
|
|
|
//2、查询是否在群内
|
|
|
|
ResiGroupMemberDTO groupMember = resiGroupMemberDao.selectGroupMemberInfo(groupInvitationDTO.getResiGroupId(), formDTO.getUserId()); |
|
|
|
if (null != groupMember && !MemberStateConstant.REMOVED.equals(groupMember.getStatus())) { |
|
|
|
logger.info("已经在群内,直接返回成功"); |
|
|
|
return; |
|
|
|
} |
|
|
|
//3、进入小组所在的网格
|
|
|
|
ResiGroupDTO resiGroupDTO = resiGroupService.get(groupInvitationDTO.getResiGroupId()); |
|
|
|
if(null==resiGroupDTO){ |
|
|
|
logger.error(String.format("用户同意邀请进组,查询组信息失败。入参:userId【%s】、invitationId【%s】、groupId【%s】。",formDTO.getUserId(),formDTO.getInvitationId(),groupInvitationDTO.getResiGroupId())); |
|
|
@ -335,25 +341,13 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD |
|
|
|
logger.error(String.format("用户同意邀请进组,进入网格失败。当前接口返回8000,调用enterGrid接口返回", result.toString())); |
|
|
|
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); |
|
|
|
} |
|
|
|
//3、校验是否已经注册居民
|
|
|
|
//4、校验是否已经注册居民
|
|
|
|
if(null==result.getData().getUserRoleList()||result.getData().getUserRoleList().size()==0){ |
|
|
|
logger.error(String.format("用户同意邀请进组失败,返回角色列表为空错误编码%s,错误提示%s",EpmetErrorCode.CANNOT_JOIN_GROUP.getCode(),EpmetErrorCode.CANNOT_JOIN_GROUP.getMsg())); |
|
|
|
throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode()); |
|
|
|
} |
|
|
|
UserRoleDTO userRoleDTO=this.getUserRoleDTO(result.getData().getUserRoleList()); |
|
|
|
/*UserRoleDTO userRoleDTO=new UserRoleDTO(); |
|
|
|
if (null != resiGroupDTO) { |
|
|
|
//获取当前用户所有角色
|
|
|
|
userRoleDTO = resiGroupService.checkPartyMemberOrWarmHeated(formDTO.getApp(), |
|
|
|
formDTO.getUserId(), |
|
|
|
resiGroupDTO.getCustomerId(), |
|
|
|
resiGroupDTO.getGridId()); |
|
|
|
if (NumConstant.ZERO_STR.equals(userRoleDTO.getRegisteredResiFlag())) { |
|
|
|
logger.error(String.format("居民端用户【%s】同意邀请进组失败,错误码:%s,错误提示:%s",formDTO.getUserId(),EpmetErrorCode.CANNOT_JOIN_GROUP.getCode(),EpmetErrorCode.CANNOT_JOIN_GROUP.getMsg())); |
|
|
|
throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode()); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
//3、新增一条邀请入群、直接审核通过的入群记录
|
|
|
|
//5、新增一条邀请入群、直接审核通过的入群记录
|
|
|
|
GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO(); |
|
|
|
groupMemeberOperation.setGroupId(resiGroupDTO.getId()); |
|
|
|
groupMemeberOperation.setCustomerUserId(formDTO.getUserId()); |
|
|
@ -361,7 +355,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD |
|
|
|
groupMemeberOperation.setEnterGroupType(EnterGroupTypeConstant.INVITED); |
|
|
|
groupMemeberOperation.setOperateUserId(formDTO.getUserId()); |
|
|
|
groupMemeberOperationService.accetInvitation(groupMemeberOperation); |
|
|
|
//4、直接加入群成员关系表
|
|
|
|
//6、直接加入群成员关系表
|
|
|
|
//如果是之前被移除的,则修改resi_group_member记录
|
|
|
|
ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO(); |
|
|
|
ResiGroupMemberDTO resiGroupMember = resiGroupMemberDao.selectGroupMemberInfo(groupInvitationDTO.getResiGroupId(), formDTO.getUserId()); |
|
|
@ -375,7 +369,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD |
|
|
|
resiGroupMemberDTO.setStatus(MemberStateConstant.APPROVED); |
|
|
|
resiGroupMemberDTO.setCreatedBy(groupMemeberOperation.getCustomerUserId()); |
|
|
|
resiGroupMemberService.saveOrUpdate(resiGroupMemberDTO); |
|
|
|
//5、修改群统计值
|
|
|
|
//7、修改群统计值
|
|
|
|
resiGroupMemberDao.updateResiGroupStatistical(groupMemeberOperation.getGroupId(), userRoleDTO); |
|
|
|
ResiGroupInfoRedisDTO groupCache = |
|
|
|
resiGroupRedis.get(groupInvitationDTO.getResiGroupId()); |
|
|
@ -394,7 +388,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl<GroupInvitationD |
|
|
|
); |
|
|
|
resiGroupRedis.set(groupCache); |
|
|
|
} |
|
|
|
//6、发送消息
|
|
|
|
//8、发送消息
|
|
|
|
this.sendMessageToLeader(formDTO, resiGroupDTO,groupInvitationDTO); |
|
|
|
} |
|
|
|
|
|
|
|