Commit 45ba90b0 by 罗长华

1、修复返回null消息的bug

2、action请求返回reqId
3、参数名统一为data 删除requestParam
parent 89a22df1
package com.wecloud.dispatch.general;
import com.wecloud.dispatch.common.BaseRequest;
import com.wecloud.dispatch.extend.ActionMessage;
import com.wecloud.dispatch.extend.ArgumentBox;
import com.wecloud.dispatch.extend.impl.DefaultArgumentBox;
import com.wecloud.dispatch.general.config.GeneralActionDispatcher;
import com.wecloud.dispatch.general.extend.ActionMessageResolver;
import com.wecloud.im.exception.VerificationCodeException;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.im.ws.sender.ChannelSender;
import com.wecloud.utils.JsonUtils;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import io.geekidea.springbootplus.framework.common.exception.DaoException;
import io.geekidea.springbootplus.framework.common.exception.SpringBootPlusException;
......@@ -20,14 +8,20 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.socket.nio.NioSocketChannel;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerExecutionChain;
import org.springframework.web.servlet.ModelAndView;
import com.wecloud.dispatch.common.BaseRequest;
import com.wecloud.dispatch.extend.ActionMessage;
import com.wecloud.dispatch.extend.ArgumentBox;
import com.wecloud.dispatch.extend.impl.DefaultArgumentBox;
import com.wecloud.dispatch.general.config.GeneralActionDispatcher;
import com.wecloud.dispatch.general.extend.ActionMessageResolver;
import com.wecloud.im.exception.VerificationCodeException;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.im.ws.sender.ChannelSender;
import com.wecloud.utils.JsonUtils;
/**
......@@ -100,7 +94,8 @@ public class GeneralMessageHandler {
res = WsResponse.result(ApiCode.SYSTEM_EXCEPTION);
}
}
channelSender.sendMsgLocal((NioSocketChannel) am.getSenderChannel(), res);
if (res != null) {
channelSender.sendMsgLocal((NioSocketChannel) am.getSenderChannel(), res);
}
}
}
......@@ -19,6 +19,10 @@ public class ActionRequestHolder {
return THREAD_LOCAL.get();
}
public static String getReqId() {
return getActionRequest().getData().getReqId();
}
/**
* 设置请求信息到当前线程中
*
......
......@@ -4,18 +4,13 @@ import io.geekidea.springbootplus.framework.core.pagination.Paging;
import io.geekidea.springbootplus.framework.log.annotation.OperationLog;
import io.geekidea.springbootplus.framework.log.enums.OperationLogType;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.ImClientBlacklistPageParam;
......@@ -23,7 +18,6 @@ import com.wecloud.im.param.ImClientBlacklistQueryVo;
import com.wecloud.im.param.add.ImClientBlacklistUpdate;
import com.wecloud.im.service.ImClientBlacklistService;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.im.ws.model.request.PushVO;
/**
* ws 黑名单
......@@ -45,8 +39,8 @@ public class BlacklistAction {
*/
@ActionMapping("/add")
@ApiOperation(value = "拉入黑名单")
public WsResponse<Boolean> addImClientBlacklist(@RequestParam(value = "data") ImClientBlacklistUpdate clientBlacklistUpdate) {
imClientBlacklistService.addImClientBlacklist(clientBlacklistUpdate);
public WsResponse<Map<String, Boolean>> addImClientBlacklist(ImClientBlacklistUpdate data) {
imClientBlacklistService.addImClientBlacklist(data);
return WsResponse.ok();
}
......@@ -56,20 +50,21 @@ public class BlacklistAction {
*/
@ActionMapping("/delete")
@ApiOperation(value = "移出黑名单")
public WsResponse<Boolean> deleteImClientBlacklist(@RequestParam(value = "data") ImClientBlacklistUpdate clientBlacklistUpdate) {
imClientBlacklistService.removeImClientBlacklist(clientBlacklistUpdate);
public WsResponse<Map<String, Boolean>> deleteImClientBlacklist(ImClientBlacklistUpdate data) {
imClientBlacklistService.removeImClientBlacklist(data);
return WsResponse.ok();
}
/**
* 黑名单分页列表
* @return
*/
@ActionMapping("/getPageList")
@OperationLog(name = "黑名单分页列表", type = OperationLogType.PAGE)
@ApiOperation(value = "黑名单分页列表")
public WsResponse<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(@RequestParam(value = "data") ImClientBlacklistPageParam clientBlacklistUpdate) {
public WsResponse<Paging<ImClientBlacklistQueryVo>> getImClientBlacklistPageList(ImClientBlacklistPageParam data) {
Paging<ImClientBlacklistQueryVo> blacklist =
imClientBlacklistService.getImClientBlacklistPageList(clientBlacklistUpdate);
imClientBlacklistService.getImClientBlacklistPageList(data);
return WsResponse.ok(blacklist);
}
}
......@@ -9,7 +9,6 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import com.alibaba.fastjson.JSON;
import com.wecloud.dispatch.annotation.ActionMapping;
......@@ -69,8 +68,8 @@ public class ClientAction {
@ActionMapping("/infoList")
@ApiOperation(value = "根据id获取Client的头像昵称")
public WsResponse<List<GetInfoListVo>> getInfoList(@RequestParam(value = "data") GetClientInfoParam getClientInfoParam) throws Exception {
return WsResponse.ok(imClientService.getInfoList(getClientInfoParam));
public WsResponse<List<GetInfoListVo>> getInfoList(GetClientInfoParam data) throws Exception {
return WsResponse.ok(imClientService.getInfoList(data));
}
/**
......@@ -78,34 +77,34 @@ public class ClientAction {
*/
@ActionMapping("/clientInfo")
@ApiOperation(value = "查询用户信息 用户可能是好友、陌生人、被拉黑名单的人")
public WsResponse<ClientInfoVo> getClientInfo(@RequestParam(value = "data") ClientInfoParam clientInfoParam) {
ClientInfoVo clientInfoVo = imClientService.getClientInfo(clientInfoParam);
public WsResponse<ClientInfoVo> getClientInfo(ClientInfoParam data) {
ClientInfoVo clientInfoVo = imClientService.getClientInfo(data);
return WsResponse.ok(clientInfoVo);
}
@ActionMapping("/updateHeadAndNickname")
@ApiOperation(value = "添加或修改头像和昵称")
public WsResponse<Boolean> updateHeadAndNickname(@RequestParam(value = "data") ImClientHeadPortraitAndNicknameUpdate clientHeadPortraitAndNicknameUpdate) throws Exception {
log.info("添加或修改头像和昵称入参 {}", JSON.toJSONString(clientHeadPortraitAndNicknameUpdate));
boolean flag = imClientService.updateHeadAndNickname(clientHeadPortraitAndNicknameUpdate);
public WsResponse<Boolean> updateHeadAndNickname(ImClientHeadPortraitAndNicknameUpdate data) throws Exception {
log.info("添加或修改头像和昵称入参 {}", JSON.toJSONString(data));
boolean flag = imClientService.updateHeadAndNickname(data);
return WsResponse.ok(flag);
}
@ActionMapping("/updateHeadPortrait")
@ApiOperation(value = "添加或修改头像")
public WsResponse<Boolean> updateHeadPortrait(@RequestParam(value = "data") ImClientHeadPortraitAdd clientHeadPortraitAdd) throws Exception {
log.info("添加或修改头像入参 {}", JSON.toJSONString(clientHeadPortraitAdd));
boolean flag = imClientService.updateHeadPortrait(clientHeadPortraitAdd);
public WsResponse<Boolean> updateHeadPortrait(ImClientHeadPortraitAdd data) throws Exception {
log.info("添加或修改头像入参 {}", JSON.toJSONString(data));
boolean flag = imClientService.updateHeadPortrait(data);
return WsResponse.ok(flag);
}
@ActionMapping("/updateNickname")
@ApiOperation(value = "添加或修改主昵称")
public WsResponse<Boolean> updateNickname(@RequestParam(value = "data") ImClientNicknameAdd clientNicknameAdd) throws Exception {
log.info("添加或修改主昵称入参 {}", JSON.toJSONString(clientNicknameAdd));
boolean flag = imClientService.updateNickname(clientNicknameAdd);
public WsResponse<Boolean> updateNickname(ImClientNicknameAdd data) throws Exception {
log.info("添加或修改主昵称入参 {}", JSON.toJSONString(data));
boolean flag = imClientService.updateNickname(data);
return WsResponse.ok(flag);
}
......@@ -118,9 +117,9 @@ public class ClientAction {
*/
@ActionMapping("/logout")
@ApiOperation(value = "退出登陆 清除推送token等")
public WsResponse<Boolean> logout(@RequestParam(value = "data") LogoutParam param) {
log.info("退出登陆入参 {}", JSON.toJSONString(param));
boolean flag = imClientService.logout(param);
public WsResponse<Boolean> logout(LogoutParam data) {
log.info("退出登陆入参 {}", JSON.toJSONString(data));
boolean flag = imClientService.logout(data);
return WsResponse.ok(flag);
}
......@@ -132,13 +131,13 @@ public class ClientAction {
@ActionMapping("/onlineStatus")
@ApiOperation(value = "获取用户在线状态(批量)")
public WsResponse<List<ImOnlineStatusVo>> getOnlineStatus(
@RequestParam(value = "data") GetOnlineStatusParam getOnlineStatusParam) {
GetOnlineStatusParam data) {
// shiro线程中获取当前token
ImClient imClient = contextService.getImClientIfNotNullOrThrow();
ImApplication imApplication = contextService.getImApplicationIfNotNullOrThrow(imClient.getFkAppid());
ArrayList<ImOnlineStatusVo> imOnlineStatusVos = new ArrayList<>();
for (String clientId : getOnlineStatusParam.getClientIds()) {
List<ImOnlineStatusVo> imOnlineStatusVos = new ArrayList<>();
for (String clientId : data.getClientIds()) {
ImOnlineStatusVo imOnlineStatusVo = new ImOnlineStatusVo();
// todo 需要改成批量
......
......@@ -5,11 +5,11 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestParam;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.ImConvMemeClientRemarkNameParam;
......@@ -34,11 +34,12 @@ public class ConversationMembersAction {
/**
* 添加或修改会话成员备注
* @return
*/
@ActionMapping("/updateClientRemarkName")
@ApiOperation(value = "添加或修改会话成员备注", notes = "权限:目前只有client成员自己有权限操作")
public WsResponse<Boolean> saveOrUpdateClientRemarkName(@RequestParam(value = "data") ImConvMemeClientRemarkNameParam convMemeClientRemarkNameParam) throws Exception {
imConversationMembersService.saveOrUpdateClientRemarkName(convMemeClientRemarkNameParam);
public WsResponse<Map<String, Boolean>> saveOrUpdateClientRemarkName(ImConvMemeClientRemarkNameParam data) throws Exception {
imConversationMembersService.saveOrUpdateClientRemarkName(data);
return WsResponse.ok();
}
......@@ -48,8 +49,8 @@ public class ConversationMembersAction {
*/
@ActionMapping("/updateAttr")
@ApiOperation(value = "添加或修改会话成员拓展字段", notes = "权限:目前只有client成员自己有权限操作")
public WsResponse<Boolean> saveOrUpdateAttr(@RequestParam(value = "data") ImConversationMemAttrUpdate conversationMemAttrUpdate) throws Exception {
boolean r = imConversationMembersService.saveOrUpdateAttr(conversationMemAttrUpdate);
public WsResponse<Map<String, Boolean>> saveOrUpdateAttr(ImConversationMemAttrUpdate data) throws Exception {
boolean r = imConversationMembersService.saveOrUpdateAttr(data);
if (r) {
return WsResponse.ok();
} else {
......@@ -63,7 +64,7 @@ public class ConversationMembersAction {
*/
@ActionMapping("/getList")
@ApiOperation(value = "获取会话中成员表列表")
public WsResponse<List<ConversationMemberVo>> getImConversationMembersList(@RequestParam(value = "data") @Validated ListConversationMembersParam listConversationMembersParam) throws Exception {
return WsResponse.ok(imConversationMembersService.getImConversationMembersList(listConversationMembersParam));
public WsResponse<List<ConversationMemberVo>> getImConversationMembersList(@Validated ListConversationMembersParam data) throws Exception {
return WsResponse.ok(imConversationMembersService.getImConversationMembersList(data));
}
}
package com.wecloud.im.action;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.ImMsgReceivedStatusUpdate;
import com.wecloud.im.param.MsgReadStatusUpdateParam;
import com.wecloud.im.param.UpdateMsgReadStatusByConversationParam;
import com.wecloud.im.service.ImInboxService;
import com.wecloud.im.ws.model.WsResponse;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.ImMsgReceivedStatusUpdate;
import com.wecloud.im.param.MsgReadStatusUpdateParam;
import com.wecloud.im.param.UpdateMsgReadStatusByConversationParam;
import com.wecloud.im.service.ImInboxService;
import com.wecloud.im.ws.model.WsResponse;
/**
* @Author luozh
......@@ -36,8 +38,8 @@ public class InboxAction {
*/
@ActionMapping("/msgReceivedUpdate")
@ApiOperation(value = "消息修改为已接收状态")
public WsResponse<Boolean> updateImMsgReceived(@RequestParam(value = "data") @Validated ImMsgReceivedStatusUpdate imMsgReceivedUpdate) throws Exception {
imInboxService.updateImMsgReceived(imMsgReceivedUpdate);
public WsResponse<Map<String, Boolean>> updateImMsgReceived(@Validated ImMsgReceivedStatusUpdate data) throws Exception {
imInboxService.updateImMsgReceived(data);
return WsResponse.ok();
}
......@@ -46,11 +48,11 @@ public class InboxAction {
*/
@ActionMapping("/msgReadUpdate")
@ApiOperation(value = "消息修改为已读状态")
public WsResponse<Boolean> updateInMsgReadUpdate(@RequestParam(value = "data") MsgReadStatusUpdateParam msgReadStatusUpdateParam) throws Exception {
if (CollectionUtils.isEmpty(msgReadStatusUpdateParam.getMsgIds())) {
public WsResponse<Map<String, Boolean>> updateInMsgReadUpdate(MsgReadStatusUpdateParam data) throws Exception {
if (CollectionUtils.isEmpty(data.getMsgIds())) {
return WsResponse.fail(ApiCode.PARAMETER_EXCEPTION);
}
imInboxService.updateImMsgRead(msgReadStatusUpdateParam);
imInboxService.updateImMsgRead(data);
return WsResponse.ok();
}
......@@ -59,10 +61,10 @@ public class InboxAction {
*/
@ActionMapping("/updateMsgReadStatusByConversation")
@ApiOperation(value = "会话消息修改为已读状态")
public WsResponse<Boolean> updateMsgReadStatusByConversation(@RequestParam(value = "data") UpdateMsgReadStatusByConversationParam param) throws Exception {
if (param.getConversationId() == null) {
public WsResponse<Boolean> updateMsgReadStatusByConversation(UpdateMsgReadStatusByConversationParam data) throws Exception {
if (data.getConversationId() == null) {
return WsResponse.fail(ApiCode.PARAMETER_EXCEPTION);
}
return WsResponse.ok(imInboxService.updateMsgReadStatusByConversation(param));
return WsResponse.ok(imInboxService.updateMsgReadStatusByConversation(data));
}
}
package com.wecloud.im.action;
import com.alibaba.fastjson.JSON;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.*;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.multimeet.service.MultiMeetService;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestParam;
import com.alibaba.fastjson.JSON;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.param.AgreeToMultiMeetParam;
import com.wecloud.im.param.HeartbeatMultiMeetParam;
import com.wecloud.im.param.InviteToMultiMeetParam;
import com.wecloud.im.param.LeaveFromMultiMeetParam;
import com.wecloud.im.param.NotAnsweredMultiMeetParam;
import com.wecloud.im.param.RejectToMultiMeetParam;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.multimeet.service.MultiMeetService;
@Slf4j
@Component
......@@ -26,54 +34,55 @@ public class MultiMeetAction {
/**
* 邀请客户端加入
* @return
*/
@ActionMapping("/invite")
@ApiOperation(value = "邀请加入多人音视频会议", notes = "邀请加入多人音视频会议")
public WsResponse<Boolean> invite(@RequestParam(value = "data") @Validated InviteToMultiMeetParam param) {
log.info("邀请加入多人音视频会议入参 {}", JSON.toJSONString(param));
if (CollectionUtils.isEmpty(param.getToClients())) {
public WsResponse<Map<String, Boolean>> invite(@Validated InviteToMultiMeetParam data) {
log.info("邀请加入多人音视频会议入参 {}", JSON.toJSONString(data));
if (CollectionUtils.isEmpty(data.getToClients())) {
return WsResponse.fail(ApiCode.PARAMETER_EXCEPTION);
}
multiMeetService.invite(param);
multiMeetService.invite(data);
return WsResponse.ok();
}
@ActionMapping("/reject")
@ApiOperation(value = "拒接进入会议", notes = "拒接进入会议")
public WsResponse<Boolean> reject(@RequestParam(value = "data") RejectToMultiMeetParam param) {
log.info("拒绝加入多人音视频会议入参 {}", JSON.toJSONString(param));
multiMeetService.reject(param);
public WsResponse<Map<String, Boolean>> reject(RejectToMultiMeetParam data) {
log.info("拒绝加入多人音视频会议入参 {}", JSON.toJSONString(data));
multiMeetService.reject(data);
return WsResponse.ok();
}
@ActionMapping("/agree")
@ApiOperation(value = "同意进入会议", notes = "同意进入会议")
public WsResponse<Boolean> agree(@RequestParam(value = "data") AgreeToMultiMeetParam param) {
log.info("同意进入多人音视频会议入参 {}", JSON.toJSONString(param));
multiMeetService.agree(param);
public WsResponse<Map<String, Boolean>> agree(AgreeToMultiMeetParam data) {
log.info("同意进入多人音视频会议入参 {}", JSON.toJSONString(data));
multiMeetService.agree(data);
return WsResponse.ok();
}
@ActionMapping("/leave")
@ApiOperation(value = "主动挂断(离开会议)", notes = "主动挂断(离开会议)")
public WsResponse<Boolean> leave(@RequestParam(value = "data") LeaveFromMultiMeetParam param) {
log.info("主动挂断多人音视频会议入参 {}", JSON.toJSONString(param));
multiMeetService.leave(param);
public WsResponse<Map<String, Boolean>> leave(LeaveFromMultiMeetParam data) {
log.info("主动挂断多人音视频会议入参 {}", JSON.toJSONString(data));
multiMeetService.leave(data);
return WsResponse.ok();
}
@ActionMapping("/notAnswered")
@ApiOperation(value = "未接听", notes = "未接听")
public WsResponse<Boolean> notAnswered(@RequestParam(value = "data") NotAnsweredMultiMeetParam param) {
log.info("多人音视频会议未接听入参 {}", JSON.toJSONString(param));
multiMeetService.notAnswered(param);
public WsResponse<Map<String, Boolean>> notAnswered(NotAnsweredMultiMeetParam data) {
log.info("多人音视频会议未接听入参 {}", JSON.toJSONString(data));
multiMeetService.notAnswered(data);
return WsResponse.ok();
}
@ActionMapping("/heartbeat")
@ApiOperation(value = "发送心跳", notes = "发送心跳")
public WsResponse<Boolean> heartbeat(@RequestParam(value = "data") HeartbeatMultiMeetParam param) {
multiMeetService.heartbeat(param);
public WsResponse<Map<String, Boolean>> heartbeat(HeartbeatMultiMeetParam data) {
multiMeetService.heartbeat(data);
return WsResponse.ok();
}
}
package com.wecloud.im.action;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.enums.CallTypeEnum;
import com.wecloud.im.param.rtc.*;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.rtc.service.RtcService;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.enums.BaseEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import com.wecloud.dispatch.annotation.ActionMapping;
import com.wecloud.im.enums.CallTypeEnum;
import com.wecloud.im.param.rtc.CandidateForwardParam;
import com.wecloud.im.param.rtc.CreateRtcChannelParam;
import com.wecloud.im.param.rtc.CreateRtcChannelResult;
import com.wecloud.im.param.rtc.JoinRtcChannelParam;
import com.wecloud.im.param.rtc.LeaveRtcChannelParam;
import com.wecloud.im.param.rtc.RejectRtcChannelParam;
import com.wecloud.im.param.rtc.SdpForwardParam;
import com.wecloud.im.ws.model.WsResponse;
import com.wecloud.rtc.service.RtcService;
@Slf4j
@Component
......@@ -29,46 +37,46 @@ public class RtcAction {
*/
@ActionMapping("/createAndCall")
@ApiOperation(value = "创建频道,并邀请客户端加入", notes = "创建频道,并邀请客户端加入")
public WsResponse<CreateRtcChannelResult> createAndCall(@RequestParam(value = "data") CreateRtcChannelParam createRtcChannelParam) {
if (BaseEnum.valueOf(CallTypeEnum.class, createRtcChannelParam.getCallType()) == null) {
public WsResponse<CreateRtcChannelResult> createAndCall(CreateRtcChannelParam data) {
if (BaseEnum.valueOf(CallTypeEnum.class, data.getCallType()) == null) {
return WsResponse.fail(ApiCode.PARAMETER_EXCEPTION);
}
return WsResponse.ok(rtcService.createAndCall(createRtcChannelParam));
return WsResponse.ok(rtcService.createAndCall(data));
}
@ActionMapping("/join")
@ApiOperation(value = "同意进入频道", notes = "")
public WsResponse<Boolean> join(@RequestParam(value = "data") JoinRtcChannelParam joinRtcChannelParam) {
rtcService.join(joinRtcChannelParam);
public WsResponse<Map<String, Boolean>> join(JoinRtcChannelParam data) {
rtcService.join(data);
return WsResponse.ok();
}
@ActionMapping("/reject")
@ApiOperation(value = "拒接进入频道", notes = "")
public WsResponse<Boolean> reject(@RequestParam(value = "data") RejectRtcChannelParam rejectRtcChannelParam) {
rtcService.reject(rejectRtcChannelParam);
public WsResponse<Map<String, Boolean>> reject(RejectRtcChannelParam data) {
rtcService.reject(data);
return WsResponse.ok();
}
@ActionMapping("/leave")
@ApiOperation(value = "主动挂断(离开频道)", notes = "")
public WsResponse<Boolean> leave(@RequestParam(value = "data") LeaveRtcChannelParam leaveRtcChannelParam) {
rtcService.leave(leaveRtcChannelParam);
public WsResponse<Map<String, Boolean>> leave(LeaveRtcChannelParam data) {
rtcService.leave(data);
return WsResponse.ok();
}
@ActionMapping("/sdpForward")
@ApiOperation(value = "SDP数据转发", notes = "")
public WsResponse<Boolean> sdpForward(@RequestParam(value = "data") SdpForwardParam sdpForwardParam) {
rtcService.sdpForward(sdpForwardParam);
public WsResponse<Map<String, Boolean>> sdpForward(SdpForwardParam data) {
rtcService.sdpForward(data);
return WsResponse.ok();
}
@ActionMapping("/candidateForward")
@ApiOperation(value = "candidate候选者数据转发", notes = "")
public WsResponse<Boolean> candidateForward(@RequestParam(value = "data") CandidateForwardParam candidateForwardParam) {
rtcService.candidateForward(candidateForwardParam);
public WsResponse<Map<String, Boolean>> candidateForward(CandidateForwardParam data) {
rtcService.candidateForward(data);
return WsResponse.ok();
}
}
package com.wecloud.im.ws.model;
import com.wecloud.im.ws.enums.WsResponseCmdEnum;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.config.il8n.I18nMessageUtil;
import io.geekidea.springbootplus.framework.config.il8n.LanguageEnum;
......@@ -9,6 +8,11 @@ import lombok.experimental.Accessors;
import java.io.IOException;
import java.io.Serializable;
import java.util.Collections;
import java.util.Map;
import com.wecloud.dispatch.util.ActionRequestHolder;
import com.wecloud.im.ws.enums.WsResponseCmdEnum;
/**
* @Description websocket服务端响应消息和下方消息的封装对象
......@@ -67,20 +71,20 @@ public class WsResponse<T> implements Serializable {
message = success;
}
WsResponse<T> response = new WsResponse<>();
response.setCmd(cmd).setCode(apiCode.getCode()).setMsg(message).setData(data);
response.setCmd(cmd).setCode(apiCode.getCode()).setMsg(message).setData(data).setReqId(ActionRequestHolder.getReqId());
return response;
}
public static WsResponse<Boolean> ok() {
return ok(true);
public static WsResponse<Map<String, Boolean>> ok() {
return ok(Collections.emptyMap());
}
public static <T> WsResponse<T> ok(T data) {
return result(ApiCode.SUCCESS, data);
}
public static WsResponse<Boolean> fail() {
return fail("");
public static WsResponse<Map<String, Boolean>> fail() {
return ok(Collections.emptyMap());
}
public static WsResponse<Boolean> fail(String message) {
......
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