发送训练地图数据接口
@ActionMethod(UserInfoCmd.sendTrainingMapData) public void sendTrainingMapData(String QrStr, FlowContext flowContext) { try { long userId = flowContext.getUserId(); LogDebug.log('getInCarByScan userId:' + userId); UserIdType userIdType = GM.me.checkUserId(userId); if (userIdType == UserIdType.DEVICE || userIdType == UserIdType.ERROR_USERID) { return; } //解析二维码字符串获得deviceId和二维码密码 GetDataServiceImpl getDataService = new GetDataServiceImpl(); DeviceEntity deviceByQr = getDataService.getDeviceIdAndQrCodeByQrStr(QrStr); DeviceEntity deviceEntity = GM.me.getMoveDeviceMap().get(deviceByQr.getDeviceId()); //1.判断二维码密码是否正确 if (!deviceByQr.getQrCode().equals(deviceEntity.getQrCode())) { sendBroadcastErrorMessage(UserInfoCmd.sendTrainingMapData, -6, userId); return; } //2.判断扫码是否合法(即此用户是否对应此设备) long moveId = checkUserIdAndUniqueId(userId, deviceEntity.getUniqueId()); UserIdType moveIdType = GM.me.checkUserId(moveId); if (moveIdType == UserIdType.ERROR_USERID) { sendBroadcastErrorMessage(UserInfoCmd.sendTrainingMapData, (int) moveId, userId); return; }
if (moveIdType == UserIdType.DEVICE) {
SendMapDto sendMapDto = GM.me.sendTrainingMapData(userId, moveId);
sendBroadcastData(UserInfoCmd.sendTrainingMapData, sendMapDto, userId);
}
} catch (Exception ignored) {
}
}
private void sendBroadcastErrorMessage(String cmd, int errorCode, long userId) { BroadcastContext broadcastContext = BrokerClientHelper.getBroadcastContext(); CmdInfo cmdInfo = CmdInfo.getCmdInfo(UserInfoCmd.cmd, cmd); StringValue stringValue = new StringValue(); stringValue.value = String.valueOf(errorCode); LogDebug.log('getInCarByScanIntoStatus:' + stringValue.value); broadcastContext.broadcast(cmdInfo, stringValue, userId); }
private void sendBroadcastData(String cmd, Object data, long userId) { BroadcastContext broadcastContext = BrokerClientHelper.getBroadcastContext(); CmdInfo cmdInfo = CmdInfo.getCmdInfo(UserInfoCmd.cmd, cmd); broadcastContext.broadcast(cmdInfo, data, userId); }
原文地址: https://www.cveoy.top/t/topic/hN2J 著作权归作者所有。请勿转载和采集!