From b85d1d0b0a33190fc820adf4af45f98499b274cf Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 05 八月 2025 22:46:57 +0800 Subject: [PATCH] 提交推送服务 --- MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java | 21 ++++++---- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 64 ++++++++++++++----------------- 2 files changed, 41 insertions(+), 44 deletions(-) diff --git a/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java b/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java index dc420f6..d4843ce 100644 --- a/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java +++ b/MessagePushTravel/src/main/java/com/sinata/push/util/applets/WebSocketHandler.java @@ -27,7 +27,7 @@ private static final String WEB_SOCKET_URL = "ws://localhost:8888/websocket"; - private NettyWebSocketController nettyWebSocketController = SpringUtil.getObject(NettyWebSocketController.class); +// private NettyWebSocketController nettyWebSocketController = SpringUtil.getObject(NettyWebSocketController.class); @@ -123,18 +123,21 @@ //给连接的客户端返回数据 //返回心跳 - JSONObject jsonObject = new JSONObject(); - jsonObject.put("code", 200); - jsonObject.put("method", Method.ok); - jsonObject.put("msg", "SUCCESS"); - jsonObject.put("data", new JSONObject()); - TextWebSocketFrame tws = new TextWebSocketFrame(jsonObject.toJSONString()); +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("code", 200); +// jsonObject.put("method", Method.ok); +// jsonObject.put("msg", "SUCCESS"); +// jsonObject.put("data", new JSONObject()); +// TextWebSocketFrame tws = new TextWebSocketFrame(jsonObject.toJSONString()); // ctx.channel().writeAndFlush(tws); + String s = NettyMsg.setMsg(Method.ok, new HashMap<String, Object>()); + ctx.writeAndFlush(Unpooled.copiedBuffer((s).getBytes())); + - nettyWebSocketController.JudgeOperation(ctx,requestmsg);//小程序心跳处理 +// nettyWebSocketController.JudgeOperation(ctx,requestmsg);//小程序心跳处理 // 群发服务端心跳响应 - Global.group.writeAndFlush(new TextWebSocketFrame((tws).text())); +// Global.group.writeAndFlush(new TextWebSocketFrame((tws).text())); } private void sendHttpResponse(ChannelHandlerContext ctx, FullHttpRequest req, FullHttpResponse res) { diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index cc9a69f..c1209cb 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -2816,45 +2816,39 @@ int finalI = i; PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); System.out.println("pushOrder:" + pushOrder); - int i2 = pushOrder.getPushTime() / 10; - if (i2 == 0) { - i2 = 1; + if (orderPrivateCar.getState() > 1) { + break; } - for (int i1 = 0; i1 < i2; i1++) { - if (orderPrivateCar.getState() > 1) { - break; - } - //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(orderType, serverCarModelId, startLon, startLat, pushOrder.getPushDistance(), null);//所有附近空闲司机 - if (list.size() > 0) { - double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 - int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) - lastIndex = lastIndex == 0 ? list.size() : lastIndex; - list = list.subList(0, lastIndex);//获取空闲司机中占比数据 - for (Driver driver : list) {//开始进行推送 - boolean bo = false; - for (Integer integer : integers) { - if (integer.compareTo(driver.getId()) == 0) { - bo = true; - break; - } + //获取空闲司机 + List<Driver> list = driverService.queryIdleDriver(orderType, serverCarModelId, startLon, startLat, pushOrder.getPushDistance(), null);//所有附近空闲司机 + if (list.size() > 0) { + double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 + int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) + lastIndex = lastIndex == 0 ? list.size() : lastIndex; + list = list.subList(0, lastIndex);//获取空闲司机中占比数据 + for (Driver driver : list) {//开始进行推送 + boolean bo = false; + for (Integer integer : integers) { + if (integer.compareTo(driver.getId()) == 0) { + bo = true; + break; } - if (bo) { - continue; - } - pushUtil.pushOrderState(2, driver.getId(), id, 1, 1, pushOrder.getPushTime()); } + if (bo) { + continue; + } + pushUtil.pushOrderState(2, driver.getId(), id, 1, 1, pushOrder.getPushTime()); } - Thread.sleep(10000);//设置等待时间 - Integer state = orderPrivateCarMapper.selectById(orderPrivateCar.getId()).getState(); - if (state > 1) { - orderIds.remove(orderPrivateCar.getId()); - break; - } - if (i == querys.size() + 5) { - pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); - orderIds.remove(orderPrivateCar.getId()); - } + } + Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间 + Integer state = orderPrivateCarMapper.selectById(orderPrivateCar.getId()).getState(); + if (state > 1) { + orderIds.remove(orderPrivateCar.getId()); + break; + } + if (i == querys.size() + 5) { + pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); + orderIds.remove(orderPrivateCar.getId()); } } } catch (Exception e) { -- Gitblit v1.7.1