Commit 633f3901 by Future

对接多人音视频

parent 95d4132a
...@@ -46,7 +46,7 @@ public class ImMultiMeetController extends BaseController { ...@@ -46,7 +46,7 @@ public class ImMultiMeetController extends BaseController {
@PostMapping("/reject") @PostMapping("/reject")
@ApiOperation(value = "拒接进入频道", notes = "") @ApiOperation(value = "拒接进入会议", notes = "拒接进入会议")
public ApiResult<Boolean> reject(@RequestBody RejectToMultiMeetParam param) { public ApiResult<Boolean> reject(@RequestBody RejectToMultiMeetParam param) {
multiMeetService.reject(param); multiMeetService.reject(param);
return ApiResult.ok(); return ApiResult.ok();
......
...@@ -24,6 +24,9 @@ public class UserBaseDto implements Serializable { ...@@ -24,6 +24,9 @@ public class UserBaseDto implements Serializable {
@ApiModelProperty("蓝豆号") @ApiModelProperty("蓝豆号")
private String idNumber; private String idNumber;
@ApiModelProperty("手机号码")
private String phone;
/** /**
* 性别 * 性别
* @see com.wecloud.im.enums.SexEnum * @see com.wecloud.im.enums.SexEnum
......
...@@ -218,6 +218,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> { ...@@ -218,6 +218,7 @@ public class UserService extends BaseServiceImpl<UserMapper, User> {
UserBaseDto userBaseDto = new UserBaseDto(); UserBaseDto userBaseDto = new UserBaseDto();
BeanUtils.copyProperties(user, userBaseDto); BeanUtils.copyProperties(user, userBaseDto);
userBaseDto.setUserId(user.getId().toString()); userBaseDto.setUserId(user.getId().toString());
userBaseDto.setPhone(user.getPhone());
return userBaseDto; return userBaseDto;
} }
......
...@@ -21,7 +21,7 @@ public interface ImClientBlacklistMapper extends BaseMapper<ImClientBlacklist> { ...@@ -21,7 +21,7 @@ public interface ImClientBlacklistMapper extends BaseMapper<ImClientBlacklist> {
/** /**
* 查询我的拉黑列表 * 查询我的拉黑列表
* * @param page
* @param clientId * @param clientId
* @return * @return
*/ */
......
...@@ -22,6 +22,9 @@ public class InviteToMultiMeetParam implements Serializable { ...@@ -22,6 +22,9 @@ public class InviteToMultiMeetParam implements Serializable {
@ApiModelProperty(value = "绑定的会话id,可选", required = false) @ApiModelProperty(value = "绑定的会话id,可选", required = false)
private Long conversationId; private Long conversationId;
@ApiModelProperty(value = "多人会议房间id", required = true)
private String roomId;
@ApiModelProperty(value = "被邀请的客户端ID列表", required = true) @ApiModelProperty(value = "被邀请的客户端ID列表", required = true)
private List<String> toClients; private List<String> toClients;
......
package com.wecloud.im.param; package com.wecloud.im.param;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @Author wenzhida * @Author wenzhida
...@@ -16,4 +18,13 @@ public class RejectToMultiMeetParam implements Serializable { ...@@ -16,4 +18,13 @@ public class RejectToMultiMeetParam implements Serializable {
private static final long serialVersionUID = -249558750895602938L; private static final long serialVersionUID = -249558750895602938L;
@ApiModelProperty(value = "会话id,可选", required = false)
private Long conversationId;
@ApiModelProperty(value = "多人会议房间id", required = true)
private String roomId;
@ApiModelProperty(value = "发起会议人clientId", required = true)
private String inviterClientId;
} }
...@@ -33,7 +33,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist> ...@@ -33,7 +33,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
* @return * @return
* @throws Exception * @throws Exception
*/ */
ApiResult<Boolean> addImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception; ApiResult<Boolean> addImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate);
/** /**
* 移出黑名单 * 移出黑名单
...@@ -42,7 +42,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist> ...@@ -42,7 +42,7 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
* @return * @return
* @throws Exception * @throws Exception
*/ */
ApiResult<Boolean> removeImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception; ApiResult<Boolean> removeImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate);
/** /**
* 获取分页对象 * 获取分页对象
...@@ -50,6 +50,6 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist> ...@@ -50,6 +50,6 @@ public interface ImClientBlacklistService extends BaseService<ImClientBlacklist>
* @return * @return
* @throws Exception * @throws Exception
*/ */
ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception; ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam);
} }
...@@ -51,13 +51,13 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl ...@@ -51,13 +51,13 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ApiResult<Boolean> addImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception { public ApiResult<Boolean> addImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) {
ImClient client = imClientService.getCurrentClient(); ImClient currentClient = imClientService.getCurrentClient();
if (client == null) { if (currentClient == null) {
throw new BusinessException("当前用户登录信息失效"); throw new BusinessException("当前用户登录信息失效");
} }
ImClient beBlacker = imClientService.getOne(new QueryWrapper<ImClient>().lambda() ImClient beBlacker = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
.eq(ImClient::getFkAppid, client.getFkAppid()) .eq(ImClient::getFkAppid, currentClient.getFkAppid())
.eq(ImClient::getClientId, imClientBlacklistUpdate.getClientIdBePrevent())); .eq(ImClient::getClientId, imClientBlacklistUpdate.getClientIdBePrevent()));
if (beBlacker == null) { if (beBlacker == null) {
throw new BusinessException("查无用户信息"); throw new BusinessException("查无用户信息");
...@@ -65,8 +65,8 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl ...@@ -65,8 +65,8 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
ImClientBlacklist imClientBlacklist = new ImClientBlacklist(); ImClientBlacklist imClientBlacklist = new ImClientBlacklist();
imClientBlacklist.setId(SnowflakeUtil.getId()); imClientBlacklist.setId(SnowflakeUtil.getId());
imClientBlacklist.setCreateTime(new Date()); imClientBlacklist.setCreateTime(new Date());
imClientBlacklist.setFkAppid(client.getFkAppid()); imClientBlacklist.setFkAppid(currentClient.getFkAppid());
imClientBlacklist.setClientIdPrevent(client.getClientId()); imClientBlacklist.setClientIdPrevent(currentClient.getClientId());
imClientBlacklist.setClientIdBePrevent(beBlacker.getClientId()); imClientBlacklist.setClientIdBePrevent(beBlacker.getClientId());
this.save(imClientBlacklist); this.save(imClientBlacklist);
...@@ -75,37 +75,32 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl ...@@ -75,37 +75,32 @@ public class ImClientBlacklistServiceImpl extends BaseServiceImpl<ImClientBlackl
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ApiResult<Boolean> removeImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) throws Exception { public ApiResult<Boolean> removeImClientBlacklist(ImClientBlacklistUpdate imClientBlacklistUpdate) {
// 操作者 // 操作者
ImClient client = imClientService.getCurrentClient(); ImClient currentClient = imClientService.getCurrentClient();
if (client == null) { if (currentClient == null) {
throw new BusinessException("当前用户登录信息失效"); throw new BusinessException("当前用户登录信息失效");
} }
// 被拉黑者 // 被拉黑者
ImClient beBlacker = imClientService.getOne(new QueryWrapper<ImClient>().lambda() ImClient beBlacker = imClientService.getOne(new QueryWrapper<ImClient>().lambda()
.eq(ImClient::getFkAppid, client.getFkAppid()) .eq(ImClient::getFkAppid, currentClient.getFkAppid())
.eq(ImClient::getClientId, imClientBlacklistUpdate.getClientIdBePrevent())); .eq(ImClient::getClientId, imClientBlacklistUpdate.getClientIdBePrevent()));
if (beBlacker == null) { if (beBlacker == null) {
throw new BusinessException("查无用户信息"); throw new BusinessException("查无用户信息");
} }
// 删除 // 删除
this.remove(new QueryWrapper<ImClientBlacklist>().lambda() this.remove(new QueryWrapper<ImClientBlacklist>().lambda()
.eq(ImClientBlacklist::getClientIdPrevent, client.getClientId()) .eq(ImClientBlacklist::getClientIdPrevent, currentClient.getClientId())
.eq(ImClientBlacklist::getClientIdBePrevent, beBlacker.getClientId())); .eq(ImClientBlacklist::getClientIdBePrevent, beBlacker.getClientId()));
return ApiResult.ok(); return ApiResult.ok();
} }
@Override @Override
public ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) throws Exception { public ApiResult<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam imClientBlacklistPageParam) {
Page<ImClientBlacklistQueryVo> page = new PageInfo<>(imClientBlacklistPageParam); Page<ImClientBlacklistQueryVo> page = new PageInfo<>(imClientBlacklistPageParam);
ImClient currentClient = imClientService.getCurrentClient();
ImClient client = imClientService.getCurrentClient(); IPage<ImClientBlacklistQueryVo> imClientBlacklistPageList = imClientBlacklistMapper.getImClientBlacklistPageList(page, currentClient.getClientId());
IPage<ImClientBlacklistQueryVo> imClientBlacklistPageList = imClientBlacklistMapper.getImClientBlacklistPageList(page, client.getClientId());
Paging<ImClientBlacklistQueryVo> imClientBlacklistQueryVoPaging = new Paging<>(imClientBlacklistPageList); Paging<ImClientBlacklistQueryVo> imClientBlacklistQueryVoPaging = new Paging<>(imClientBlacklistPageList);
return ApiResult.ok(imClientBlacklistQueryVoPaging); return ApiResult.ok(imClientBlacklistQueryVoPaging);
} }
......
...@@ -19,4 +19,9 @@ public class MultiMeetInviteResponse extends MultiMeetDataBase implements Serial ...@@ -19,4 +19,9 @@ public class MultiMeetInviteResponse extends MultiMeetDataBase implements Serial
*/ */
private Long conversationId; private Long conversationId;
/**
* 房间id
*/
private String roomId;
} }
...@@ -14,4 +14,18 @@ import java.io.Serializable; ...@@ -14,4 +14,18 @@ import java.io.Serializable;
@Data @Data
public class MultiMeetRejectResponse extends MultiMeetDataBase implements Serializable { public class MultiMeetRejectResponse extends MultiMeetDataBase implements Serializable {
/**
* 会话id
*/
private Long conversationId;
/**
* 房间id
*/
private String roomId;
/**
* 发起会议人clientId
*/
private String inviterClientId;
} }
...@@ -13,15 +13,15 @@ public interface WsMultiMeetWrite { ...@@ -13,15 +13,15 @@ public interface WsMultiMeetWrite {
/** /**
* 发送邀请 * 发送邀请
* @param multiMeetInviteResponse * @param multiMeetInviteResponse
* @param toClientId * @param toFkClientId
*/ */
void invite(MultiMeetInviteResponse multiMeetInviteResponse, Long toClientId); void invite(MultiMeetInviteResponse multiMeetInviteResponse, Long toFkClientId);
/** /**
* 拒接邀请 * 拒接邀请
* @param multiMeetRejectResponse * @param multiMeetRejectResponse
* @param toClientId * @param toFkClientId
*/ */
void reject(MultiMeetRejectResponse multiMeetRejectResponse, Long toClientId); void reject(MultiMeetRejectResponse multiMeetRejectResponse, Long toFkClientId);
} }
...@@ -52,6 +52,7 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -52,6 +52,7 @@ public class MultiMeetServiceImpl implements MultiMeetService {
// ws向接收方发送通知 // ws向接收方发送通知
MultiMeetInviteResponse multiMeetInviteResponse = new MultiMeetInviteResponse(); MultiMeetInviteResponse multiMeetInviteResponse = new MultiMeetInviteResponse();
multiMeetInviteResponse.setConversationId(param.getConversationId()); multiMeetInviteResponse.setConversationId(param.getConversationId());
multiMeetInviteResponse.setRoomId(param.getRoomId());
multiMeetInviteResponse.setClientId(currentClient.getClientId()); multiMeetInviteResponse.setClientId(currentClient.getClientId());
multiMeetInviteResponse.setTimestamp(System.currentTimeMillis()); multiMeetInviteResponse.setTimestamp(System.currentTimeMillis());
...@@ -66,10 +67,17 @@ public class MultiMeetServiceImpl implements MultiMeetService { ...@@ -66,10 +67,17 @@ public class MultiMeetServiceImpl implements MultiMeetService {
ImClient currentClient = imClientService.getCurrentClient(); ImClient currentClient = imClientService.getCurrentClient();
// ws向接收方发送通知 // ws向接收方发送通知
MultiMeetRejectResponse multiMeetRejectResponse = new MultiMeetRejectResponse(); MultiMeetRejectResponse multiMeetRejectResponse = new MultiMeetRejectResponse();
multiMeetRejectResponse.setConversationId(param.getConversationId());
multiMeetRejectResponse.setRoomId(param.getRoomId());
multiMeetRejectResponse.setClientId(currentClient.getClientId()); multiMeetRejectResponse.setClientId(currentClient.getClientId());
multiMeetRejectResponse.setTimestamp(System.currentTimeMillis()); multiMeetRejectResponse.setTimestamp(System.currentTimeMillis());
wsMultiMeetWrite.reject(multiMeetRejectResponse, currentClient.getId()); ImClient receiver = imClientService.getCacheImClient(currentClient.getFkAppid(), param.getInviterClientId());
if (receiver == null) {
log.info("查无接收人信息 {}", param.getInviterClientId());
throw new BusinessException("查无发起会议人信息");
}
wsMultiMeetWrite.reject(multiMeetRejectResponse, receiver.getId());
} }
} }
...@@ -24,7 +24,7 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite { ...@@ -24,7 +24,7 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite {
private ChannelSender channelSender; private ChannelSender channelSender;
@Override @Override
public void invite(MultiMeetInviteResponse multiMeetInviteResponse, Long toClientId) { public void invite(MultiMeetInviteResponse multiMeetInviteResponse, Long toFkClientId) {
multiMeetInviteResponse.setSubCmd(WsMultiMeetResponseSubCmdEnum.INVITE.getCmdCode()); multiMeetInviteResponse.setSubCmd(WsMultiMeetResponseSubCmdEnum.INVITE.getCmdCode());
// 向接收方推送 // 向接收方推送
...@@ -35,11 +35,11 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite { ...@@ -35,11 +35,11 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite {
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setData(multiMeetInviteResponse); responseModel.setData(multiMeetInviteResponse);
responseModel.setReqId(null); responseModel.setReqId(null);
channelSender.sendMsg(responseModel, toClientId); channelSender.sendMsg(responseModel, toFkClientId);
} }
@Override @Override
public void reject(MultiMeetRejectResponse multiMeetRejectResponse, Long toClientId) { public void reject(MultiMeetRejectResponse multiMeetRejectResponse, Long toFkClientId) {
multiMeetRejectResponse.setSubCmd(WsMultiMeetResponseSubCmdEnum.REJECT.getCmdCode()); multiMeetRejectResponse.setSubCmd(WsMultiMeetResponseSubCmdEnum.REJECT.getCmdCode());
// 向接收方推送 // 向接收方推送
...@@ -50,7 +50,7 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite { ...@@ -50,7 +50,7 @@ public class WsMultiMeetWriteImpl implements WsMultiMeetWrite {
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setData(multiMeetRejectResponse); responseModel.setData(multiMeetRejectResponse);
responseModel.setReqId(null); responseModel.setReqId(null);
channelSender.sendMsg(responseModel, toClientId); channelSender.sendMsg(responseModel, toFkClientId);
} }
......
...@@ -17,16 +17,9 @@ ...@@ -17,16 +17,9 @@
<select id="getImClientBlacklistPageList" resultType="com.wecloud.im.param.ImClientBlacklistQueryVo"> <select id="getImClientBlacklistPageList" resultType="com.wecloud.im.param.ImClientBlacklistQueryVo">
SELECT im_client.client_id AS clientIdBePrevent SELECT im_client.client_id AS clientIdBePrevent
FROM im_client_blacklist FROM im_client_blacklist
INNER JOIN im_client ON im_client.id = im_client_blacklist.client_id_be_prevent INNER JOIN im_client ON im_client.client_id = im_client_blacklist.client_id_be_prevent
WHERE im_client_blacklist.client_id_prevent = #{clientId} WHERE im_client_blacklist.client_id_prevent = #{clientId}
ORDER BY im_client_blacklist.create_time DESC ORDER BY im_client_blacklist.create_time DESC
</select> </select>
<!-- <select id="getImClientBlacklistPageList" parameterType="com.wecloud.im.param.ImClientBlacklistPageParam"-->
<!-- resultType="com.wecloud.im.param.ImClientBlacklistQueryVo">-->
<!-- select-->
<!-- <include refid="Base_Column_List"/>-->
<!-- from im_client_blacklist-->
<!-- </select>-->
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment