| | |
| | | import com.ruoyi.call.service.IArdCallGroupUserService; |
| | | import com.ruoyi.call.service.IArdCallSessionService; |
| | | import com.ruoyi.call.service.IArdCallSessionUserService; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | |
| | | private IArdCallSessionUserService ardCallSessionUserService; |
| | | @Resource |
| | | private IArdCallGroupService ardCallGroupService; |
| | | @Resource |
| | | private IArdCallGroupUserService ardCallGroupUserService; |
| | | |
| | | /** |
| | | * 查询视频会话 |
| | |
| | | } else { |
| | | //群聊 |
| | | sessionId = ardCallSessionUserService.getGroupSessionId(type, targetId); |
| | | if (StringUtils.isEmpty(sessionId)) { |
| | | if (StringUtils.isNull(sessionId)) { |
| | | //若不存在群聊session直接则分别创建所有群用户的session |
| | | ArdCallSession ardCallSession = new ArdCallSession(); |
| | | ardCallSession.setType(type); |
| | |
| | | |
| | | //获取群用户列表 |
| | | ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(targetId); |
| | | if(ardCallGroup!=null) |
| | | { |
| | | String finalSessionId = sessionId; |
| | | ardCallGroup.getArdCallGroupUsers().stream().forEach(groupUser -> { |
| | | ArdCallSessionUser ardCallSessionUser = new ArdCallSessionUser(); |
| | | ardCallSessionUser.setSessionId(finalSessionId); |
| | | ardCallSessionUser.setType(type); |
| | | ardCallSessionUser.setUserId(groupUser.getUserId()); |
| | | ardCallSessionUser.setTargetId(targetId); |
| | | ardCallSessionUserService.insertArdCallSessionUser(ardCallSessionUser); |
| | | }); |
| | | if (ardCallGroup != null) { |
| | | List<SysUser> userList = ardCallGroupUserService.InGroupUsers(ardCallGroup.getId()); |
| | | if (userList.size() > 0) { |
| | | ardCallGroup.setSysUserList(userList); |
| | | String finalSessionId = sessionId; |
| | | ardCallGroup.getSysUserList().stream().forEach(groupUser -> { |
| | | ArdCallSessionUser ardCallSessionUser = new ArdCallSessionUser(); |
| | | ardCallSessionUser.setSessionId(finalSessionId); |
| | | ardCallSessionUser.setType(type); |
| | | ardCallSessionUser.setUserId(groupUser.getUserId()); |
| | | ardCallSessionUser.setTargetId(targetId); |
| | | ardCallSessionUserService.insertArdCallSessionUser(ardCallSessionUser); |
| | | }); |
| | | } |
| | | } |
| | | } else { |
| | | //获取自己的session |
| | | sessionId = ardCallSessionUserService.getSessionId(type, userId, targetId); |
| | | } |
| | | } |
| | | return sessionId; |