| | |
| | | |
| | | @Autowired |
| | | private ICompanyService companyService; |
| | | |
| | | @Autowired |
| | | private IOrderInvitationService orderInvitationService; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | //用户取消退款 |
| | | public void userCancelTuik(OrderRide orderRide){ |
| | | UserInfo userInfo=userInfoService.selectById(orderRide.getUserId()); |
| | | //查询三方判断订单是否完成支付 |
| | | getPaymentStatus(userInfo, orderRide); |
| | | if(orderRide.getState()==2){//用户已经支付了订单但司机没有接单 |
| | | orderRide.setTuiMoney(orderRide.getMoney()); |
| | | } |
| | |
| | | String finNum=OrdersUtil.getOrderNoForPrefix("fin"); |
| | | //todo 退款金额大于0需要退款 |
| | | if(orderRide.getPayType()==1){//余额 |
| | | UserInfo userInfo=userInfoService.selectById(orderRide.getUserId()); |
| | | userInfo.setBalance(userInfo.getBalance()+orderRide.getTuiMoney()); |
| | | userInfoService.updateById(userInfo); |
| | | }else if(orderRide.getPayType()==2){ |
| | |
| | | |
| | | //中台订单退款操作 |
| | | if(ToolUtil.isNotEmpty(orderRide.getZttravelId())){ |
| | | UserInfo userInfo = userInfoService.selectById(orderRide.getUserId()); |
| | | TradeOrderRefundRequest request = new TradeOrderRefundRequest(); |
| | | request.setPartnerPayId(orderRide.getZttravelId()); |
| | | request.setPayId(financial.getLsType()); |
| | |
| | | orderRide.setState(6);//取消状态 |
| | | orderRideService.updateById(orderRide); |
| | | } |
| | | |
| | | |
| | | |
| | | public void getPaymentStatus(UserInfo userInfo, OrderRide orderRide1){ |
| | | GetTravelItineraryListRequest request1 = new GetTravelItineraryListRequest(); |
| | | request1.setCustomerId(userInfo.getOnconUUID()); |
| | | request1.setOrderNo("SF" + orderRide1.getId()); |
| | | ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request1); |
| | | TravelItinerary travelItinerary = travelItineraryList.getList().get(0); |
| | | if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){ |
| | | GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest(); |
| | | getPaymentInfoDataRequest1.setPartnerPayId(orderRide1.getZttravelId()); |
| | | GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1); |
| | | |
| | | String trade_no = getPaymentInfo1.getPayId(); |
| | | Financial financial = new Financial(); |
| | | financial.setType(1);//类型 1=收入 2=支出 |
| | | financial.setPayType("2");//支付类型 1=余额 2=微信 3=支付宝 |
| | | financial.setMoney(orderRide1.getMoney());//支付金额 |
| | | financial.setOrderNum(orderRide1.getOrderNum());//我们本地的订单号 |
| | | financial.setLsType(trade_no);//流水号 |
| | | financial.setAddTime(new Date()); |
| | | financial.setTradeStatus("success"); |
| | | //顺风车支付 |
| | | //修改订单表中的订单流水和支付方式 |
| | | orderRide1.setOutNum(financial.getLsType());//流水 |
| | | orderRide1.setPayTime(new Date()); |
| | | orderRide1.setPayType(2); |
| | | orderRide1.setState(2); |
| | | financial.setPwType(8);//顺风车 |
| | | financial.setUserId(orderRide1.getUserId()); |
| | | financial.setLx(1);//1=用户 2=司机 |
| | | financial.setOrderType(4);//顺风车 |
| | | financialService.insert(financial); |
| | | orderRideService.updateById(orderRide1); |
| | | /*添加系统消息*/ |
| | | try { |
| | | systemNoticeService.addSystemNotice(1, "您成功支付从" + orderRide1.getStartName() + "到" + orderRide1.getEndName() + "的顺风车订单", orderRide1.getUserId(), 1); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 司机行程取消 |
| | | * @param orderId |
| | |
| | | OrderRide orderRide=orderRideService.selectOne(new EntityWrapper<OrderRide>().eq("userId",userId) |
| | | .eq("state",2)); |
| | | if(orderRide!=null){ |
| | | OrderInvitation orderInvitation = new OrderInvitation(); |
| | | orderInvitation.setOrderRideId(orderRide.getId()); |
| | | orderInvitation.setOrderTravelId(orderTravel.getId()); |
| | | orderInvitation.setInsertTime(new Date()); |
| | | orderInvitationService.insert(orderInvitation); |
| | | String message="您发布的"+DateUtil.getDateToString(orderTravel.getStartTime(),"MM月dd日")+"的行程有乘客邀请您同行"; |
| | | /*添加系统消息*/ |
| | | try { |
| | |
| | | } |
| | | return ResultUtil.error("异常"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 用户订单匹配列表页面,用户订单去匹配司机的行程 |
| | | * @param type 搜索条件:1默认排序(根据线路、时间,人数综合匹配排序721),2时间最早,3距离最近 |
| | |
| | | orderRideVo.setLon(orderRide.getStartLon()); |
| | | orderRideVo.setLat(orderRide.getStartLat()); |
| | | orderRideVo.setNum(orderRide.getNum()); |
| | | orderRideVo.setId(orderId); |
| | | orderRideVo.setType(type+1);//搜索条件:1默认排序(根据线路、时间,人数综合匹配排序721),2时间最早,3距离最近 |
| | | List<OrderRideVo> orderRides=orderTravelService.getOrderTravel(orderRideVo); |
| | | return ResultUtil.success(orderRides); |