Commit 61a0ab9d by giaogiao

优化Response指令为枚举类;

添加指令:单人WebRTC音视频通话;
优化Cmd策略模式抽象类和实现类名
parent b6b1e169
package com.wecloud.im.service.impl; package com.wecloud.im.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wecloud.im.entity.ImApplication; import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient; import com.wecloud.im.entity.ImClient;
...@@ -14,6 +15,7 @@ import com.wecloud.im.service.ImClientService; ...@@ -14,6 +15,7 @@ import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService; import com.wecloud.im.service.ImConversationMembersService;
import com.wecloud.im.service.ImInboxService; import com.wecloud.im.service.ImInboxService;
import com.wecloud.im.service.ImMessageService; import com.wecloud.im.service.ImMessageService;
import com.wecloud.im.ws.enums.WsResponseCmdEnum;
import com.wecloud.im.ws.model.ResponseModel; import com.wecloud.im.ws.model.ResponseModel;
import com.wecloud.im.ws.service.WriteDataService; import com.wecloud.im.ws.service.WriteDataService;
import io.geekidea.springbootplus.framework.common.api.ApiCode; import io.geekidea.springbootplus.framework.common.api.ApiCode;
...@@ -191,7 +193,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox> ...@@ -191,7 +193,7 @@ public class ImInboxServiceImpl extends BaseServiceImpl<ImInboxMapper, ImInbox>
} }
// 向接收方推送 // 向接收方推送
ResponseModel<ImMessageOnlineSend> responseModel = new ResponseModel<>(); ResponseModel<ImMessageOnlineSend> responseModel = new ResponseModel<>();
responseModel.setCmd(ResponseModel.ONLINE_EVENT_MSG); responseModel.setCmd(WsResponseCmdEnum.ONLINE_EVENT_MSG.getCmdCode());
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS); ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
......
...@@ -17,7 +17,7 @@ import java.lang.annotation.Target; ...@@ -17,7 +17,7 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)//RUNTIME运行时保留 @Retention(RetentionPolicy.RUNTIME)//RUNTIME运行时保留
@Target(ElementType.TYPE) //type描述类、接口 @Target(ElementType.TYPE) //type描述类、接口
@Documented @Documented
public @interface ReceiveTypeAnnotation { public @interface CmdTypeAnnotation {
WsRequestCmdEnum type(); WsRequestCmdEnum type();
} }
...@@ -15,7 +15,12 @@ public enum WsRequestCmdEnum { ...@@ -15,7 +15,12 @@ public enum WsRequestCmdEnum {
/** /**
* ping * ping
*/ */
PING(2); PING(2),
/**
* 单人WebRTC音视频通话
*/
SINGLE_RTC(3);
private final int cmdCode; private final int cmdCode;
......
...@@ -8,14 +8,25 @@ package com.wecloud.im.ws.enums; ...@@ -8,14 +8,25 @@ package com.wecloud.im.ws.enums;
public enum WsResponseCmdEnum { public enum WsResponseCmdEnum {
/** /**
* 离线消息下发完成指令 * 下发单人在线RTC事件
*/ */
OFFLINE_MSG_SUC(100), SINGLE_RTC_MSG(4),
/** /**
* 主动下发消息指令 * 下发在线事件消息
*/ */
WRITE_MSG(101); ONLINE_EVENT_MSG(3),
/**
* 下发在线基本类型消息
*/
ONLINE_MSG(2),
/**
* 响应数据类型
*/
RES(1);
private final int cmdCode; private final int cmdCode;
......
...@@ -15,23 +15,8 @@ import java.io.Serializable; ...@@ -15,23 +15,8 @@ import java.io.Serializable;
public class ResponseModel<T> implements Serializable { public class ResponseModel<T> implements Serializable {
/** /**
* 下发在线事件消息 * 枚举类WsResponseCmdEnum 请求uri的编码
*/ * 由于webSocket使用同一个通道发送数据,需要区分不同类型请求
public static final Integer ONLINE_EVENT_MSG = 3;
/**
* 下发在线基本类型消息
*/
public static final Integer ONLINE_MSG = 2;
/**
* 响应数据类型
*/
public static final Integer RES = 1;
/**
* 枚举类UriPathEnum 请求uri的编码
* 由于websocket使用同一个通道发送数据,需要区分不同类型请求
*/ */
private Integer cmd; private Integer cmd;
......
...@@ -4,8 +4,8 @@ import com.fasterxml.jackson.databind.json.JsonMapper; ...@@ -4,8 +4,8 @@ import com.fasterxml.jackson.databind.json.JsonMapper;
import com.wecloud.im.ws.enums.WsRequestCmdEnum; import com.wecloud.im.ws.enums.WsRequestCmdEnum;
import com.wecloud.im.ws.model.request.ReceiveModel; import com.wecloud.im.ws.model.request.ReceiveModel;
import com.wecloud.im.ws.service.WriteDataService; import com.wecloud.im.ws.service.WriteDataService;
import com.wecloud.im.ws.strategy.AbstractReceiveStrategy; import com.wecloud.im.ws.strategy.ImCmdAbstract;
import com.wecloud.im.ws.strategy.ReceiveStrategyContext; import com.wecloud.im.ws.strategy.ImCmdContext;
import io.geekidea.springbootplus.framework.common.exception.BusinessException; import io.geekidea.springbootplus.framework.common.exception.BusinessException;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -26,7 +26,7 @@ public class ReadWsData { ...@@ -26,7 +26,7 @@ public class ReadWsData {
// idea此处报红 属于正常 // idea此处报红 属于正常
// @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") // @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
@Resource @Resource
private ReceiveStrategyContext receiveStrategyContext; private ImCmdContext receiveStrategyContext;
@Resource @Resource
private WriteDataService writeDataService; private WriteDataService writeDataService;
...@@ -57,7 +57,7 @@ public class ReadWsData { ...@@ -57,7 +57,7 @@ public class ReadWsData {
WsRequestCmdEnum wsRequestUriPathEnum = WsRequestCmdEnum.getByCode(receiveModel.getCmd()); WsRequestCmdEnum wsRequestUriPathEnum = WsRequestCmdEnum.getByCode(receiveModel.getCmd());
// 使用策略模式, 根据不同类型请求调用不同实现类 // 使用策略模式, 根据不同类型请求调用不同实现类
AbstractReceiveStrategy receiveStrategy = receiveStrategyContext.getStrategy(wsRequestUriPathEnum); ImCmdAbstract receiveStrategy = receiveStrategyContext.getStrategy(wsRequestUriPathEnum);
receiveStrategy.process(receiveModel, ctx, data, appKey, clientId); receiveStrategy.process(receiveModel, ctx, data, appKey, clientId);
} }
......
...@@ -30,7 +30,7 @@ import java.util.Map; ...@@ -30,7 +30,7 @@ import java.util.Map;
*/ */
@Component @Component
@Slf4j @Slf4j
public class PushTask { public class SystemPush {
@Autowired @Autowired
private ImIosApnsService imIosApnsService; private ImIosApnsService imIosApnsService;
...@@ -56,7 +56,7 @@ public class PushTask { ...@@ -56,7 +56,7 @@ public class PushTask {
* @param imClientReceiver * @param imClientReceiver
*/ */
@Async @Async
public void push(HashMap<String, String> pushMap, ImClient imClientReceiver, ImApplication imApplication) { public void push(HashMap<String, String> pushMap, ImClient imClientReceiver, ImApplication imApplication, PushType pushType) {
log.info("push:" + imClientReceiver.getClientId()); log.info("push:" + imClientReceiver.getClientId());
PushModel pushModel = new PushModel(); PushModel pushModel = new PushModel();
...@@ -82,7 +82,7 @@ public class PushTask { ...@@ -82,7 +82,7 @@ public class PushTask {
// 设备类型1:ios; 2:android // 设备类型1:ios; 2:android
if (imClientReceiver.getDeviceType() == 1) { if (imClientReceiver.getDeviceType() == 1) {
ios(pushModel, imClientReceiver, imApplication); ios(pushModel, imClientReceiver, imApplication, pushType);
} else { } else {
android(pushModel, imClientReceiver, imApplication); android(pushModel, imClientReceiver, imApplication);
...@@ -122,7 +122,7 @@ public class PushTask { ...@@ -122,7 +122,7 @@ public class PushTask {
} }
} }
private void ios(PushModel pushModel, ImClient imClientReceiver, ImApplication imApplication) { private void ios(PushModel pushModel, ImClient imClientReceiver, ImApplication imApplication, PushType pushType) {
// ios推送通道,友盟:1;firebase:2; apns原生:3 // ios推送通道,友盟:1;firebase:2; apns原生:3
if (imApplication.getIosPushChannel() == 1) { if (imApplication.getIosPushChannel() == 1) {
log.info("友盟"); log.info("友盟");
...@@ -153,7 +153,7 @@ public class PushTask { ...@@ -153,7 +153,7 @@ public class PushTask {
// apns原生:3 // apns原生:3
log.info("apns原生"); log.info("apns原生");
apnsPush(pushModel, imClientReceiver, imApplication); apnsPush(pushModel, imClientReceiver, imApplication, pushType);
} else { } else {
log.info("没有找到推送类型"); log.info("没有找到推送类型");
} }
...@@ -200,7 +200,7 @@ public class PushTask { ...@@ -200,7 +200,7 @@ public class PushTask {
} }
} }
private void apnsPush(PushModel pushModel, ImClient imClientReceiver, ImApplication imApplication) { private void apnsPush(PushModel pushModel, ImClient imClientReceiver, ImApplication imApplication, PushType pushType) {
// 查询apns证书 // 查询apns证书
ImIosApns apns = imIosApnsService.getImIosApnsByAppId(imApplication.getId()); ImIosApns apns = imIosApnsService.getImIosApnsByAppId(imApplication.getId());
Map<String, Object> customProperty = new HashMap<String, Object>(1); Map<String, Object> customProperty = new HashMap<String, Object>(1);
...@@ -227,7 +227,7 @@ public class PushTask { ...@@ -227,7 +227,7 @@ public class PushTask {
IosPush.push(certificatePassword, inputStream2, productFlag, deviceToken, alertTitle, alertBody, IosPush.push(certificatePassword, inputStream2, productFlag, deviceToken, alertTitle, alertBody,
contentAvailable, customProperty, badge contentAvailable, customProperty, badge
, DeliveryPriority.IMMEDIATE, PushType.ALERT, topicBundleId, , DeliveryPriority.IMMEDIATE, pushType, topicBundleId,
sound); sound);
} }
......
...@@ -6,12 +6,12 @@ import com.wecloud.im.ws.model.request.ReceiveModel; ...@@ -6,12 +6,12 @@ import com.wecloud.im.ws.model.request.ReceiveModel;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
/** /**
* @Description 接收netty不同类型请求 * @Description 处理Cmd请求
* 抽象类 策略设计模式 * 抽象类 策略设计模式
* @Author hewei hwei1233@163.com * @Author hewei hwei1233@163.com
* @Date 2020-01-02 * @Date 2020-01-02
*/ */
public abstract class AbstractReceiveStrategy { public abstract class ImCmdAbstract {
/** /**
* 处理业务流程 * 处理业务流程
......
...@@ -11,15 +11,15 @@ import java.util.Map; ...@@ -11,15 +11,15 @@ import java.util.Map;
* 维护指令码与策略实现的对应 * 维护指令码与策略实现的对应
* @Author hewei hwei1233@163.com * @Author hewei hwei1233@163.com
*/ */
public class ReceiveStrategyContext { public class ImCmdContext {
private final Map<WsRequestCmdEnum, Class> strategyMap; private final Map<WsRequestCmdEnum, Class> strategyMap;
public ReceiveStrategyContext(Map<WsRequestCmdEnum, Class> strategyMap) { public ImCmdContext(Map<WsRequestCmdEnum, Class> strategyMap) {
this.strategyMap = strategyMap; this.strategyMap = strategyMap;
} }
public AbstractReceiveStrategy getStrategy(WsRequestCmdEnum wsRequestPathEnum) { public ImCmdAbstract getStrategy(WsRequestCmdEnum wsRequestPathEnum) {
if (wsRequestPathEnum == null) { if (wsRequestPathEnum == null) {
throw new IllegalArgumentException("not fond enum"); throw new IllegalArgumentException("not fond enum");
...@@ -35,6 +35,6 @@ public class ReceiveStrategyContext { ...@@ -35,6 +35,6 @@ public class ReceiveStrategyContext {
throw new IllegalArgumentException("not fond strategy for type:" + wsRequestPathEnum.getCmdCode()); throw new IllegalArgumentException("not fond strategy for type:" + wsRequestPathEnum.getCmdCode());
} }
return (AbstractReceiveStrategy) SpringBeanUtils.getBean(aClass); return (ImCmdAbstract) SpringBeanUtils.getBean(aClass);
} }
} }
package com.wecloud.im.ws.strategy; package com.wecloud.im.ws.strategy;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.wecloud.im.ws.annotation.ReceiveTypeAnnotation; import com.wecloud.im.ws.annotation.CmdTypeAnnotation;
import com.wecloud.im.ws.enums.WsRequestCmdEnum; import com.wecloud.im.ws.enums.WsRequestCmdEnum;
import com.wecloud.im.ws.utils.ClassScanner; import com.wecloud.im.ws.utils.ClassScanner;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
...@@ -22,7 +22,7 @@ import java.util.Set; ...@@ -22,7 +22,7 @@ import java.util.Set;
* @Date 2020-01-02 * @Date 2020-01-02
*/ */
@Component @Component
public class ReceiveStrategyProcessor implements BeanFactoryPostProcessor { public class ImCmdStrategyProcessor implements BeanFactoryPostProcessor {
// 扫码注解的包路径 // 扫码注解的包路径
private static final String STRATEGY_PACK = "com.wecloud.im.ws.strategy.concrete"; private static final String STRATEGY_PACK = "com.wecloud.im.ws.strategy.concrete";
...@@ -32,20 +32,20 @@ public class ReceiveStrategyProcessor implements BeanFactoryPostProcessor { ...@@ -32,20 +32,20 @@ public class ReceiveStrategyProcessor implements BeanFactoryPostProcessor {
Map<WsRequestCmdEnum, Class> handlerMap = Maps.newHashMapWithExpectedSize(5); Map<WsRequestCmdEnum, Class> handlerMap = Maps.newHashMapWithExpectedSize(5);
// 扫码ReceiveTypeAnnotation注解的类 // 扫码ReceiveTypeAnnotation注解的类
Set<Class<?>> classSet = ClassScanner.scan(STRATEGY_PACK, ReceiveTypeAnnotation.class); Set<Class<?>> classSet = ClassScanner.scan(STRATEGY_PACK, CmdTypeAnnotation.class);
classSet.forEach(clazz -> { classSet.forEach(clazz -> {
// 获取注解中的类型值,与枚举类一一对应 // 获取注解中的类型值,与枚举类一一对应
WsRequestCmdEnum type = clazz.getAnnotation(ReceiveTypeAnnotation.class).type(); WsRequestCmdEnum type = clazz.getAnnotation(CmdTypeAnnotation.class).type();
handlerMap.put(type, clazz); handlerMap.put(type, clazz);
}); });
// 初始化Contenxt, 将其注册到spring容器当中 // 初始化Contenxt, 将其注册到spring容器当中
ReceiveStrategyContext context = new ReceiveStrategyContext(handlerMap); ImCmdContext context = new ImCmdContext(handlerMap);
try { try {
configurableListableBeanFactory.registerResolvableDependency(Class.forName(ReceiveStrategyContext.class.getName()), context); configurableListableBeanFactory.registerResolvableDependency(Class.forName(ImCmdContext.class.getName()), context);
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -3,6 +3,7 @@ package com.wecloud.im.ws.strategy.concrete; ...@@ -3,6 +3,7 @@ package com.wecloud.im.ws.strategy.concrete;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.databind.json.JsonMapper;
import com.turo.pushy.apns.PushType;
import com.wecloud.im.entity.ImApplication; import com.wecloud.im.entity.ImApplication;
import com.wecloud.im.entity.ImClient; import com.wecloud.im.entity.ImClient;
import com.wecloud.im.entity.ImConversationMembers; import com.wecloud.im.entity.ImConversationMembers;
...@@ -15,13 +16,14 @@ import com.wecloud.im.service.ImClientService; ...@@ -15,13 +16,14 @@ import com.wecloud.im.service.ImClientService;
import com.wecloud.im.service.ImConversationMembersService; import com.wecloud.im.service.ImConversationMembersService;
import com.wecloud.im.service.ImInboxService; import com.wecloud.im.service.ImInboxService;
import com.wecloud.im.service.ImMessageService; import com.wecloud.im.service.ImMessageService;
import com.wecloud.im.ws.annotation.ReceiveTypeAnnotation; import com.wecloud.im.ws.annotation.CmdTypeAnnotation;
import com.wecloud.im.ws.enums.WsRequestCmdEnum; import com.wecloud.im.ws.enums.WsRequestCmdEnum;
import com.wecloud.im.ws.enums.WsResponseCmdEnum;
import com.wecloud.im.ws.model.ResponseModel; import com.wecloud.im.ws.model.ResponseModel;
import com.wecloud.im.ws.model.request.ReceiveModel; import com.wecloud.im.ws.model.request.ReceiveModel;
import com.wecloud.im.ws.sender.PushTask; import com.wecloud.im.ws.sender.SystemPush;
import com.wecloud.im.ws.service.WriteDataService; import com.wecloud.im.ws.service.WriteDataService;
import com.wecloud.im.ws.strategy.AbstractReceiveStrategy; import com.wecloud.im.ws.strategy.ImCmdAbstract;
import io.geekidea.springbootplus.framework.common.api.ApiCode; import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult; import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.shiro.util.SnowflakeUtil; import io.geekidea.springbootplus.framework.shiro.util.SnowflakeUtil;
...@@ -38,10 +40,10 @@ import java.util.List; ...@@ -38,10 +40,10 @@ import java.util.List;
/** /**
* @Description 处理app数据消息 * @Description 处理app数据消息
*/ */
@ReceiveTypeAnnotation(type = WsRequestCmdEnum.DATA) @CmdTypeAnnotation(type = WsRequestCmdEnum.DATA)
@Service @Service
@Slf4j @Slf4j
public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { public class ImChatConcrete extends ImCmdAbstract {
private static final String TO_CONVERSATION_KEY = "toConversation"; private static final String TO_CONVERSATION_KEY = "toConversation";
private static final String PUSH_KEY = "push"; private static final String PUSH_KEY = "push";
...@@ -71,7 +73,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -71,7 +73,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
private ImClientService imClientService; private ImClientService imClientService;
@Autowired @Autowired
private PushTask pushTask; private SystemPush pushTask;
@Override @Override
public void process(ReceiveModel receiveModel, ChannelHandlerContext ctx, String data, String appKey, String clientId) throws JsonProcessingException { public void process(ReceiveModel receiveModel, ChannelHandlerContext ctx, String data, String appKey, String clientId) throws JsonProcessingException {
...@@ -172,7 +174,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -172,7 +174,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
// 向接收方推送 // 向接收方推送
ResponseModel<ImMessageOnlineSend> responseModel = new ResponseModel<>(); ResponseModel<ImMessageOnlineSend> responseModel = new ResponseModel<>();
responseModel.setCmd(ResponseModel.ONLINE_MSG); responseModel.setCmd(WsResponseCmdEnum.ONLINE_MSG.getCmdCode());
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS); ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
...@@ -181,13 +183,13 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -181,13 +183,13 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
writeDataService.write(responseModel, appKey, imClientReceiver.getClientId()); writeDataService.write(responseModel, appKey, imClientReceiver.getClientId());
// 异步推送系统通知消息 // 异步推送系统通知消息
pushTask.push(pushMap, imClientReceiver, imApplication); pushTask.push(pushMap, imClientReceiver, imApplication, PushType.ALERT);
} }
// 响应发送方消息id等信息 // 响应发送方消息id等信息
ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>(); ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>();
ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS); ApiResult<Boolean> result = ApiResult.result(ApiCode.SUCCESS);
responseModel.setCmd(ResponseModel.RES); responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode());
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
HashMap<String, Long> stringHashMap = new HashMap<>(3); HashMap<String, Long> stringHashMap = new HashMap<>(3);
...@@ -234,7 +236,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -234,7 +236,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
// 响应发送方 // 响应发送方
ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>(); ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>();
ApiResult<Boolean> result = ApiResult.result(ApiCode.IS_BE_BLACK); ApiResult<Boolean> result = ApiResult.result(ApiCode.IS_BE_BLACK);
responseModel.setCmd(ResponseModel.RES); responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode());
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setReqId(receiveModel.getReqId()); responseModel.setReqId(receiveModel.getReqId());
...@@ -249,7 +251,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy { ...@@ -249,7 +251,7 @@ public class ImConcreteReceiveStrategy extends AbstractReceiveStrategy {
// 响应发送方 // 响应发送方
ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>(); ResponseModel<HashMap<String, Long>> responseModel = new ResponseModel<>();
ApiResult<Boolean> result = ApiResult.result(ApiCode.IS_TO_BLACK); ApiResult<Boolean> result = ApiResult.result(ApiCode.IS_TO_BLACK);
responseModel.setCmd(ResponseModel.RES); responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode());
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setReqId(receiveModel.getReqId()); responseModel.setReqId(receiveModel.getReqId());
......
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