DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -440,7 +440,7 @@ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(value = "改派支付方式(1=微信,2=支付宝,3=余额,4=云闪付)", name = "payType", required = false, dataType = "int"), @ApiImplicitParam(value = "改派原因", name = "reason", required = true, dataType = "string"), @ApiImplicitParam(value = "改派原因", name = "reason", required = false, dataType = "string"), @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) @@ -459,6 +459,33 @@ } } @ResponseBody @PostMapping("/api/order/reassignCancel") @ApiOperation(value = "提交改派申请--取消", tags = {"司机端-服务中"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), @ApiImplicitParam(value = "订单类型(1=专车,2=出租车,4=小件物流-同城,5=小件物流-跨城)", name = "orderType", required = true, dataType = "int"), @ApiImplicitParam(value = "改派支付方式(1=微信,2=支付宝,3=余额,4=云闪付)", name = "payType", required = false, dataType = "int"), @ApiImplicitParam(value = "改派原因", name = "reason", required = false, dataType = "string"), @ApiImplicitParam(value = "备注", name = "remark", required = false, dataType = "string"), @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil reassignCancel(Reassign reassign, HttpServletRequest request){ try { Integer uid = driverService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } return reassignService.saveDataCancel(reassign, uid, null); }catch (SystemException s){ return ResultUtil.error(s.getMsg()); } catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 司机走流程操作 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IReassignService.java
@@ -17,6 +17,7 @@ * @throws Exception */ ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception; ResultUtil saveDataCancel(Reassign reassign, Integer uid, Integer type) throws Exception; DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -66,7 +66,7 @@ // driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1)); for (Map<String, Object> stringObjectMap : list) { // 1使用中 2空闲中 if(stringObjectMap.get("useDriverId").toString().equals(uid.toString())){ if(stringObjectMap.get("useDriverId")!=null && stringObjectMap.get("useDriverId").toString().equals(uid.toString())){ map.put("useState", 1); }else { map.put("useState", 0); DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -401,8 +401,9 @@ driver.setSex(registeredWarpper.getSex()); driver.setIdCard(registeredWarpper.getIdCard()); driver.setArea(registeredWarpper.getArea()); driver.setAreaCode(registeredWarpper.getAreaCode()); driver.setAreaCode(registeredWarpper.getPlaceOfEmployment()); driver.setCity(registeredWarpper.getCity()); driver.setCityCode(registeredWarpper.getCityCode()); driver.setProvince(registeredWarpper.getProvince()); @@ -412,7 +413,7 @@ return ResultUtil.error("请选择服务商"); } String code = registeredWarpper.getAreaCode(); String code = registeredWarpper.getPlaceOfEmployment(); Company query = companyCityService.query(code); if(null == query){ return ResultUtil.error("选择从业地暂未开通业务"); DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -102,7 +102,6 @@ private String callbackPath; /** * 提交改派申请 * @param uid 申请司机id @@ -269,8 +268,6 @@ // } } if(reassign.getPayType() == 4){ // TODO 司机云闪付 改派调起云闪付 @@ -280,6 +277,52 @@ } } return resultUtil; } @Override public ResultUtil saveDataCancel(Reassign reassign, Integer uid, Integer type) throws Exception { Driver driver = driverService.selectById(uid); //修改改派通知状态 switch (reassign.getOrderType()) { case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(reassign.getOrderId()); orderPrivateCar.setState(orderPrivateCar.getOldState()); orderPrivateCar.setReassignNotice(0); orderPrivateCarService.updateById(orderPrivateCar); Company company = companyService.selectById(driver.getCompanyId()); //中台修改订单状态 ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); request.setOrderId(orderPrivateCar.getTravelId()); request.setStatus(orderPrivateCar.getState()); request.setDriverId(driver.getEmpId().toString()); if (2 == orderPrivateCar.getPromotion()) { Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); request.setPromoterId(driver1.getEmpId().toString()); } request.setSupplierShopId(company.getEnterCode()); OrderUtil.modifyTravelItinerary(request); break; case 2: OrderTaxi orderTaxi = orderTaxiService.selectById(reassign.getOrderId()); orderTaxi.setState(orderTaxi.getOldState()); orderTaxi.setReassignNotice(0); orderTaxiService.updateById(orderTaxi); Company company1 = companyService.selectById(driver.getCompanyId()); //中台修改订单状态 ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); request1.setOrderId(orderTaxi.getTravelId()); request1.setStatus(orderTaxi.getState()); request1.setDriverId(driver.getEmpId().toString()); if (2 == orderTaxi.getPromotion()) { Driver driver1 = driverService.selectById(orderTaxi.getPromotionDriverId()); request1.setPromoterId(driver1.getEmpId().toString()); } request1.setSupplierShopId(company1.getEnterCode()); OrderUtil.modifyTravelItinerary(request1); break; } return ResultUtil.success(); } @@ -515,8 +558,6 @@ } /** * 获取列表数据 * @param uid @@ -530,7 +571,6 @@ pageNum = (pageNum - 1) * size; return reassignMapper.queryList(uid, pageNum, size); } public static List<Integer> orderIds = new ArrayList<>(); @@ -597,7 +637,6 @@ // qyt 新增改派 重新推送 }else{ @@ -689,6 +728,7 @@ } @Autowired private ICompanyCityService companyCityService; @@ -726,6 +766,7 @@ //获取空闲司机 List<Driver> list = driverService.queryIdleDriver(2, orderTaxi.getStartLon(), orderTaxi.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 list = list.stream().filter(e->e.getId()!=uid).collect(Collectors.toList()); OrderTaxi orderTaxi1 = orderTaxiService.selectById(orderTaxi.getId()); if (list.size() > 0) { double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) @@ -747,12 +788,11 @@ } } Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间 OrderTaxi orderTaxi1 = orderTaxiService.selectById(orderTaxi.getId()); Integer state = orderTaxi1.getState(); if (state != 1) { if (state != 1 || state!= 11) { break; } if (i == 6 && state == 1) { if (i == 6 && (state == 1 || state==11)) { pushUtil.pushEndPush(1, orderTaxi.getUserId(), orderTaxi.getId(), 2); orderTaxi1.setState(10); orderTaxiService.updateById(orderTaxi1); @@ -789,7 +829,7 @@ List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数 for(int i = 1; i <= 6; i++){ OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(id); if (null == orderPrivateCar || orderPrivateCar.getState() > 1) { if (null == orderPrivateCar || (orderPrivateCar.getState() > 1 && orderPrivateCar.getState() != 11)) { break; } int finalI = i; @@ -800,7 +840,7 @@ i2=1; } for (int i1 = 0; i1 < i2 ; i1++) { if (orderPrivateCar.getState() > 1) { if (orderPrivateCar.getState() > 1 && orderPrivateCar.getState() != 11) { break; } //获取空闲司机 @@ -827,11 +867,11 @@ } Thread.sleep(10000);//设置等待时间 Integer state = orderPrivateCar.getState(); if (state > 1) { if (state > 1 && state != 11) { orderIds.remove(orderPrivateCar.getId()); return; } if (i == 6 && state == 1) { if (i == 6 && (state == 1 || state==11)) { pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); orderPrivateCar.setState(10); orderPrivateCarService.updateById(orderPrivateCar);