From 79eff526c529e9389d518edb516dac37119ce3aa Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 08 九月 2025 16:41:11 +0800 Subject: [PATCH] 新增加跨城支付 --- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 63 ++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 10 deletions(-) diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 7f873d4..0a36215 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -20,13 +20,14 @@ import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper; import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper; import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; -import com.stylefeng.guns.modular.system.dao.PhoneMapper; -import com.stylefeng.guns.modular.system.dao.RegionMapper; -import com.stylefeng.guns.modular.system.dao.SysIntegralMapper; -import com.stylefeng.guns.modular.system.dao.UserInfoMapper; +import com.stylefeng.guns.modular.system.dao.*; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; +import com.stylefeng.guns.modular.system.service.impl.CarServiceImpl; +import com.stylefeng.guns.modular.system.service.impl.CompanyServiceImpl; import com.stylefeng.guns.modular.system.util.*; +import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest; import com.stylefeng.guns.modular.system.warpper.BaseWarpper; import com.stylefeng.guns.modular.system.warpper.MerchantCouponListWarpper; import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper; @@ -160,6 +161,11 @@ @Value("${callbackPath}") private String callbackPath; + @Autowired + private CarModelMapper carModelMapper; + @Autowired + private CarServiceImpl carServiceImpl; + private CompanyServiceImpl companyServiceImpl; /** @@ -259,7 +265,12 @@ @Override public ResultUtil process(Integer orderId, Integer state, Double lon, Double lat, String address) throws Exception { OrderCrossCity orderCrossCity = this.selectById(orderId); + if(10 == orderCrossCity.getState()){ + return ResultUtil.error("订单已被取消,不能继续操作"); + } UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId()); + Driver driver = driverService.selectById(orderCrossCity.getDriverId()); + Company company = companyServiceImpl.selectById(driver.getCompanyId()); switch (state){ case 3://出发前往预约点 orderCrossCity.setState(3); @@ -288,15 +299,32 @@ orderCrossCity.setGetoffTime(new Date()); orderCrossCity.setState(8);//跨城直接到待评价 orderCrossCity.setEndServiceTime(new Date()); - - Driver driver = driverService.selectById(orderCrossCity.getDriverId()); //添加抽成及收入记录 - Map<String, Object> map = incomeService.saveIncome(orderCrossCity.getId(), 3, orderCrossCity.getOrderMoney()); - orderCrossCity.setSplitAllocation(JSON.toJSONString(map)); + + //非追缴单才需要记录收入 + if(0 == orderCrossCity.getRecoveryOrder()){ + //添加收入 + Double orderMoney = (2 == orderCrossCity.getAbnormal() && 2 == orderCrossCity.getAbnormalStatus() ? orderCrossCity.getResponsibilityMoney().doubleValue() : orderCrossCity.getOrderMoney()); + Map<String, Object> map = incomeService.saveIncome(orderCrossCity.getId(), 3, orderMoney); + orderCrossCity.setSplitAllocation(JSON.toJSONString(map)); + } + //待审核的异常单修改状态为已关闭 + if(2 == orderCrossCity.getAbnormal() && 1 == orderCrossCity.getAbnormalStatus()){ + orderCrossCity.setAbnormalStatus(3); + orderCrossCity.setResponsibilityMoney(new BigDecimal(orderCrossCity.getOrderMoney())); + orderCrossCity.setResponsibilityType(3); + orderCrossCity.setAbnormalRemark("乘客已支付订单,申诉已自动关闭"); + } //还原座位数 LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); - lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); + if(1 == orderCrossCity.getTravelMode()){ + lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); + }else{ + Car car = carServiceImpl.selectById(driver.getCarId()); + CarModel carModel = carModelMapper.selectById(car.getCarModelId()); + lineShiftDriver.setLaveSeat(carModel.getSeat() - 1); + } lineShiftDriver.setLaveSeatNumber( (ToolUtil.isNotEmpty(lineShiftDriver.getLaveSeatNumber()) ? lineShiftDriver.getLaveSeatNumber() + "," : "") + orderCrossCity.getSeatNumber() @@ -305,7 +333,7 @@ //修改司机空闲状态 List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryWithin30Minutes(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); - if(orderCrossCities.size() == 0){ + if(orderCrossCities.size() <= 1){ driver = driverService.selectById(orderCrossCity.getDriverId()); driver.setState(2); driverService.updateById(driver); @@ -379,6 +407,21 @@ } this.updateById(orderCrossCity); + //中台修改订单状态 + ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); + request1.setOrderId(orderCrossCity.getTravelId()); + request1.setStatus(orderCrossCity.getState()); + if (null != orderCrossCity.getDriverId()) { + request1.setDriverId(driver.getEmpId().toString()); + request1.setSupplierShopId(company.getEnterCode()); + } + if (2 == orderCrossCity.getPromotion()) { + Driver driver2 = driverService.selectById(orderCrossCity.getPromotionDriverId()); + request1.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(request1); + + // TODO: 2020/6/5 推送状态 new Thread(new Runnable() { @Override -- Gitblit v1.7.1