From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 16 十月 2025 17:37:08 +0800 Subject: [PATCH] 修改bug --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 134 ++++++++++++++++++++++++++++++++------------ 1 files changed, 98 insertions(+), 36 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 6b27477..25ee59b 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -9,7 +9,9 @@ import com.stylefeng.guns.modular.call.server.IOrderCallService; import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity; import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService; +import com.stylefeng.guns.modular.shunfeng.model.DriverRide; import com.stylefeng.guns.modular.shunfeng.model.OrderRide; +import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService; import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService; import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics; import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService; @@ -24,10 +26,15 @@ import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; +import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; +import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest; import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest; import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback; import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData; +import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil; +import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo; +import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo; import com.stylefeng.guns.modular.system.warpper.*; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.model.PaymentRecord; @@ -55,6 +62,8 @@ import java.io.PrintWriter; import java.io.Serializable; import java.lang.reflect.InvocationTargetException; +import java.net.InetAddress; +import java.net.NetworkInterface; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -168,6 +177,9 @@ @Autowired private IOrderRideService orderRideService; + /*顺风车司机*/ + @Autowired + private IDriverRideService driverRideService; /** @@ -188,6 +200,47 @@ if (null == uid) { return ResultUtil.tokenErr(); } + UserInfo userInfo = userInfoService.selectById(uid); + if(null != userInfo.getDriverId()){ + DriverRide driverRide = driverRideService.selectById(userInfo.getDriverId()); + //获取证联数据 + if(null == driverRide.getCustId() || 0 == driverRide.getAccOpenFlag()){ + TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo(); + tradeTerminalInfo.setTerminal("1"); + InetAddress inetAddress = InetAddress.getLocalHost(); + String ip = inetAddress.getHostAddress(); + tradeTerminalInfo.setIp(ip); + NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress); + byte[] mac = networkInterface.getHardwareAddress(); + StringBuilder macAddress = new StringBuilder(); + for (int i = 0; i < mac.length; i++) { + macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); + } + + tradeTerminalInfo.setMac(macAddress.toString()); + ZLUserInfo userInfo1 = ZhengLianUtil.getUserInfo(driverRide.getEmpId().toString(), tradeTerminalInfo); + if(null != userInfo){ + driverRide.setCustId(userInfo1.getCustId()); + driverRide.setAccOpenFlag(userInfo1.getAccOpenFlag()); + driverRideService.updateById(driverRide); + } + } + //同步到中台 + if(null != driverRide.getAccOpenFlag() && 1 == driverRide.getAccOpenFlag() && 0 == driverRide.getIsSynchronous()){ + AddAccountInfoRequest request1 = new AddAccountInfoRequest(); + request1.setCustId(driverRide.getCustId()); + request1.setAccountNo(driverRide.getEmpId().toString()); + request1.setAccountName(userInfo.getName()); + request1.setMobile(userInfo.getPhone()); + Integer status = EmployeeUtil.addAccountInfo(request1); + if(0 == status){ + driverRide.setIsSynchronous(1); + driverRideService.updateById(driverRide); + } + } + } + + List<OrderStatusWarpper> data = new ArrayList<>(); List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12); for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { @@ -1427,7 +1480,7 @@ case 2: return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip); case 3: - ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type); + ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type, path, ip); orderCrossCityService.promotion(orderId); @@ -1471,24 +1524,27 @@ case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); orderPrivateCar.setState(9); + orderPrivateCar.setPayTime(new Date()); orderPrivateCarService.updateById(orderPrivateCar); - Driver driver1 = null; - Company company = null; - //中台修改订单状态 - ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); - request.setOrderId(orderPrivateCar.getTravelId()); - request.setStatus(orderPrivateCar.getState()); - if (null != orderPrivateCar.getDriverId()) { - driver1 = driverService.selectById(orderPrivateCar.getDriverId()); - company = companyService.selectById(driver1.getCompanyId()); - request.setDriverId(driver1.getEmpId().toString()); - request.setSupplierShopId(company.getEnterCode()); + if(ToolUtil.isNotEmpty(orderPrivateCar.getTravelId())){ + Driver driver1 = null; + Company company = null; + //中台修改订单状态 + ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); + request.setOrderId(orderPrivateCar.getTravelId()); + request.setStatus(orderPrivateCar.getState()); + if (null != orderPrivateCar.getDriverId()) { + driver1 = driverService.selectById(orderPrivateCar.getDriverId()); + company = companyService.selectById(driver1.getCompanyId()); + request.setDriverId(driver1.getEmpId().toString()); + request.setSupplierShopId(company.getEnterCode()); + } + if (2 == orderPrivateCar.getPromotion()) { + Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); + request.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(request); } - if (2 == orderPrivateCar.getPromotion()) { - Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); - request.setPromoterId(driver2.getEmpId().toString()); - } - OrderUtil.modifyTravelItinerary(request); new Thread(new Runnable() { @Override public void run() { @@ -1502,24 +1558,27 @@ case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(orderId); orderTaxi.setState(9); + orderTaxi.setPayTime(new Date()); orderTaxiService.updateById(orderTaxi); - Driver driver = null; - Company company1 = null; - //中台修改订单状态 - ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest(); - request2.setOrderId(orderTaxi.getTravelId()); - request2.setStatus(orderTaxi.getState()); - if (null != orderTaxi.getDriverId()) { - driver = driverService.selectById(orderTaxi.getDriverId()); - company1 = companyService.selectById(driver.getCompanyId()); - request2.setDriverId(driver.getEmpId().toString()); - request2.setSupplierShopId(company1.getEnterCode()); + if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){ + Driver driver = null; + Company company1 = null; + //中台修改订单状态 + ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest(); + request2.setOrderId(orderTaxi.getTravelId()); + request2.setStatus(orderTaxi.getState()); + if (null != orderTaxi.getDriverId()) { + driver = driverService.selectById(orderTaxi.getDriverId()); + company1 = companyService.selectById(driver.getCompanyId()); + request2.setDriverId(driver.getEmpId().toString()); + request2.setSupplierShopId(company1.getEnterCode()); + } + if (2 == orderTaxi.getPromotion()) { + Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId()); + request2.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(request2); } - if (2 == orderTaxi.getPromotion()) { - Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId()); - request2.setPromoterId(driver2.getEmpId().toString()); - } - OrderUtil.modifyTravelItinerary(request2); break; case 3: OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId); @@ -2173,13 +2232,17 @@ if (orderNo.contains("PR")) { orderNo = orderNo.substring(2); orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1); - orderPrivateCarService.promotion(Integer.valueOf(orderNo)); } //出租车 if (orderNo.contains("TA")) { orderNo = orderNo.substring(2); orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0); orderTaxiService.promotion(Integer.valueOf(orderNo)); + } + //跨城出行 + if (orderNo.contains("CC")) { + orderNo = orderNo.substring(2); + orderCrossCityService.payOrderCrossCityCallback(Integer.valueOf(orderNo), payId, 1, null); } } catch (Exception e) { e.printStackTrace(); @@ -2375,8 +2438,7 @@ @ApiImplicitParam(value = "行程单信息", name = "tripSheet", required = false, dataType = "com.stylefeng.guns.modular.system.model.vo.TripSheetVo"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet, - HttpServletRequest request) { + public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet, HttpServletRequest request) { try { // 从Redis中获取当前用户ID Integer uid = userInfoService.getUserIdFormRedis(request); -- Gitblit v1.7.1