From 5edd84c3d79263a32afdd9564ad0373fc253389f Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 11 九月 2025 15:03:22 +0800 Subject: [PATCH] 日志打印 --- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 75 insertions(+), 44 deletions(-) diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 7113e67..e9e1850 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -186,10 +186,8 @@ //存储摆渡车无接单后推送标识,实现多个类型的摆渡车订单无人接单后只给前端推送一次 public static Map<Integer, Boolean> pushEndMap = new HashMap<>(); - - - - + @Autowired + private CarMapper carMapper; /** @@ -743,6 +741,10 @@ } this.updateAllColumnById(orderCrossCity); + + if(userInfo.getPhone()!=null){ + SMSUtil.send(userInfo.getPhone(), "您的订单已生成,如有疑问请咨询0715-8911666", "2431012323525"); + } return resultUtil; } // /** @@ -926,7 +928,11 @@ } //添加交易明细 transactionDetailsService.saveData(orderCrossCity.getUserId(), "完成订单", query.getAmount(), 2, 1, 1, 3, query.getOrderId()); - orderCrossCity.setState(2);//先支付再服务 + if(orderCrossCity.getDriverId()==null){ + orderCrossCity.setState(1); + }else { + orderCrossCity.setState(2);//先支付再服务 + } orderCrossCity.setPayType(type); orderCrossCity.setPayMoney(query.getAmount()); this.updateById(orderCrossCity); @@ -968,7 +974,7 @@ // driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); // driverService.updateById(driver); - Company company = companyService.selectById(driver.getFranchiseeId()); +// Company company = companyService.selectById(driver.getFranchiseeId()); // if(Objects.isNull(company)){ // company = companyService.selectById(driver.getCompanyId()); // } @@ -992,20 +998,35 @@ // // driverService.updateById(driver); + + + // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushDriverPosition(orderCrossCity.getId(), 3); + + if(driver!=null){ + pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); + pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); + pushUtil.pushDriverPosition(orderCrossCity.getId(), 3); + }else { + try { + pushCrossCityOrder(orderCrossCity); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } }).start(); // systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : "支付宝") + "成功完成出行订单支付,谢谢使用!", orderCrossCity.getUserId(), 1); //添加司机消息提醒 - systemNoticeService.addSystemNotice(2, "用户已线上完成支付", driver.getId(), 1); + if(driver!=null){ + systemNoticeService.addSystemNotice(2, "用户已线上完成支付", driver.getId(), 1); + } }else{ System.err.println("预支付数据异常(orderId = " + id + ")"); } @@ -1406,6 +1427,7 @@ }; Timer timer = new Timer(); timer.schedule(timerTask, 30 * 60 * 1000); + return ResultUtil.success(baseWarpper); } @@ -1926,7 +1948,9 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); + if(orderCrossCity.getDriverId()!=null){ + pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); + } System.err.println("推送取消操作---------------------"); } }).start(); @@ -1934,16 +1958,22 @@ //修改司机座位 LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); - lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); - lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber()); - lineShiftDriverMapper.updateById(lineShiftDriver); + if(lineShiftDriver!=null){ + lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); + lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber()); + lineShiftDriverMapper.updateById(lineShiftDriver); + } + //修改司机为空闲 List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryByDriverId(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); if(orderCrossCities.size() == 0){ Driver driver = driverService.selectById(orderCrossCity.getDriverId()); - driver.setState(2); - driverService.updateById(driver); + if(driver!=null){ + driver.setState(2); + driverService.updateById(driver); + } + } // } // else{ @@ -2535,14 +2565,21 @@ // Company query = companyService.selectById(1); for(int i = 1; i <= 3; i++){ // PushOrder pushOrder = pushOrderService.querys(i, 4, query.getId()).get(0); - //获取同线路的同车型的跨城司机 List<Driver> list = driverService.queryDriversByLineAndCarModel(3,orderCrossCity.getServerCarModelId(), orderCrossCity.getLineId()); + System.out.println("跨城空闲司机======>"+ list); if(list.size() > 0){ // double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 // int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) // list = list.subList(0, lastIndex);//获取空闲司机中占比数据 + List<Integer> collect = list.stream().map(Driver::getCarId).collect(Collectors.toList()); + List<Car> cars = carMapper.selectList1( collect); for(Driver driver : list){//开始进行推送 + // 判断司机的当前进行的订单 看座位数、 + System.out.println("当前司机id======>"+ driver.getId()); + Car car1 = cars.stream().filter(car -> car.getId().equals(driver.getCarId())).findFirst().get(); + Integer seat = car1.getSeat(); + List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().eq("driverId", driver.getId()).in("state", Arrays.asList(1,2,3,4,5))); // boolean bo = false; // for(Integer integer : integers){ // if(integer.compareTo(driver.getId()) == 0){ @@ -2553,7 +2590,11 @@ // if(bo){ // continue; // } - pushUtil.pushOrderState(2, driver.getId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 10); + System.out.println("当前司机座位数======>"+ seat); + System.out.println("当前司机跨城订单数======>"+ orderCrossCities.size()); + if(seat>orderCrossCities.size()){ + pushUtil.pushOrderState(2, driver.getId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 10); + } } } Thread.sleep(10 * 1000);//设置等待时间 @@ -2563,33 +2604,23 @@ } // if(i == querys.size() && state == 1){ if(i == 3 && state == 1){ - pushUtil.pushEndPush(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 1); + pushUtil.pushEndPush(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3); orderIds.remove(orderCrossCity.getId()); - orderCrossCity.setState(10); - orderCrossCityMapper.updateById(orderCrossCity); - - OrderCancel orderCancel = new OrderCancel(); - orderCancel.setOrderId(orderCrossCity.getId()); - orderCancel.setOrderType(3); - orderCancel.setReason("没有司机接单,系统自动取消订单"); - orderCancel.setRemark("没有司机接单,系统自动取消订单"); - orderCancel.setState(2); - orderCancel.setInsertTime(new Date()); - orderCancel.setUserType(2); - orderCancelService.insert(orderCancel); - //TODO:退款 - UserInfo userInfo = userInfoService.selectById (orderCrossCity.getUserId()); - userInfo.setBalance (new BigDecimal (userInfo.getBalance ()) - .add (new BigDecimal (orderCrossCity.getOrderMoney())) // 余额增加订单金额 - .setScale (2, BigDecimal.ROUND_HALF_EVEN) - .doubleValue ()); - SysIntegral query1 = sysIntegralMapper.query (orderCrossCity.getCompanyId ()); - if (query1 != null) { - int addIntegral = orderCrossCity.getOrderMoney().intValue () * query1.getIntegral (); // 原增加的积分 - userInfo.setIntegral (userInfo.getIntegral () - addIntegral); // 扣除对应积分(确保积分不为负可加额外判断) - } - transactionDetailsService.saveData (orderCrossCity.getUserId(), "订单取消退款", orderCrossCity.getOrderMoney (), 1, 1, 1, 3, orderCrossCity.getId ()); - userInfoService.updateById (userInfo); +// orderCrossCity.setState(10); +// orderCrossCityMapper.updateById(orderCrossCity); +// +// OrderCancel orderCancel = new OrderCancel(); +// orderCancel.setOrderId(orderCrossCity.getId()); +// orderCancel.setOrderType(3); +// orderCancel.setReason("没有司机接单,系统自动取消订单"); +// orderCancel.setRemark("没有司机接单,系统自动取消订单"); +// orderCancel.setState(2); +// orderCancel.setInsertTime(new Date()); +// orderCancel.setUserType(2); +// orderCancelService.insert(orderCancel); +// //TODO:退款 +// UserInfo userInfo = userInfoService.selectById (orderCrossCity.getUserId()); + addCancle(orderCrossCity.getId(),"没有司机接单,系统自动取消订单","没有司机接单,系统自动取消订单",orderCrossCity.getUserId()); } } -- Gitblit v1.7.1