Pu Zhibing
3 天以前 b219589d73f46bd98995bceb4caf16dadb56b869
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -55,6 +55,8 @@
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
@@ -1033,7 +1035,7 @@
            }else{
               tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isCompensate\":\"1\",\"isPromote\":\"0\"}");
            }
            tradeOrderCreateData.setCharge(new BigDecimal(orderMoney));
            tradeOrderCreateData.setCharge(new BigDecimal(orderMoney).setScale(2, RoundingMode.HALF_EVEN));
            tradeOrderCreateData.setOrderNo("CC" + orderCrossCity.getId());
            tradeOrderCreateData.setCustomerId(userInfo.getOnconUUID());
            tradeOrderCreateData.setPartnerPayId(orderCrossCity.getTravelId());
@@ -1057,6 +1059,7 @@
            }else{
               goodsInfoRequest.setProfitSharing("0");
               goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
            }
            goodsInfo.add(goodsInfoRequest);
            tradeOrderCreateData.setGoodsInfo(goodsInfo);
@@ -1066,7 +1069,7 @@
               return ResultUtil.error(payInfo.getRetMsg());
            }
            orderCrossCity.setIsCreated(1);
            orderCrossCity.setTrackId(tradeOrderCreate.getOrderInfo().getOrderId());
            orderCrossCity.setTravelId(tradeOrderCreate.getOrderInfo().getOrderId());
            resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
         }else{
            //拉起支付
@@ -1083,6 +1086,7 @@
               goodsInfoRequest.setProfitSharing("1");
            }else{
               goodsInfoRequest.setProfitSharing("0");
               goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
            }
            goodsInfo.add(goodsInfoRequest);
            tradePayOff1Data.setGoodsInfo(goodsInfo);
@@ -1092,7 +1096,7 @@
            }
            resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
         }
         this.updateById(orderCrossCity);
         paymentRecordService.saveData(1, orderCrossCity.getUserId(), 1, orderId, 3, 1, orderMoney, "", 1);//添加预支付数据
         //创建定时任务查询订单支付状态
@@ -1114,9 +1118,9 @@
                  request.setDriverId(driver.getEmpId().toString());
                  ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request);
                  TravelItinerary travelItinerary = travelItineraryList.getList().get(0);
                  if(travelItinerary.getStatus() != 7 || travelItinerary.getOrderStatus() == 11){
                  if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){
                     GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest();
                     getPaymentInfoDataRequest1.setPartnerPayId(orderCrossCity1.getTravelId());
                     getPaymentInfoDataRequest1.setPartnerPayId(orderCrossCity.getTravelId());
                     GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1);
                     payOrderCrossCityCallback(orderCrossCity1.getId(), getPaymentInfo1.getPayId(), 1, null);
                     break;
@@ -2179,21 +2183,6 @@
      } else {
         return ResultUtil.error("请完善后台取消规则设置");
      }
      //中台修改订单状态
      ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest();
      request1.setOrderId(orderCrossCity.getTravelId());
      request1.setStatus(orderCrossCity.getState());
      if (null != orderCrossCity.getDriverId()) {
         Driver driver2 = driverService.selectById(orderCrossCity.getDriverId());
         Company company = iCompanyService.selectById(driver2.getCompanyId());
         request1.setDriverId(driver2.getEmpId().toString());
         request1.setSupplierShopId(company.getEnterCode());
      }
      if (2 == orderCrossCity.getPromotion() && null != orderCrossCity.getPromotionDriverId()) {
         Driver driver2 = driverService.selectById(orderCrossCity.getPromotionDriverId());
         request1.setPromoterId(driver2.getEmpId().toString());
      }
      OrderUtil.modifyTravelItinerary(request1);
      //未支付的情况取消订单
      if(null == orderCrossCity.getPayType() && ToolUtil.isNotEmpty(orderCrossCity.getTravelId())){
@@ -2251,15 +2240,15 @@
                  }});
                  TradeOrderRefund tradeOrderRefund = OrderUtil.tradeOrderRefund(request);
                  //退款通知
                  OrderRefundNoticeRequest request1 = new OrderRefundNoticeRequest();
                  request1.setOrderId(orderCrossCity.getTravelId());
                  request1.setRefundPayNum(tradeOrderRefund.getRefundId());
                  request1.setRefundType("5");
                  request1.setApplyRefundCharge(new BigDecimal(orderCrossCity.getPayMoney()));
                  request1.setActualRefundCharge(new BigDecimal(orderCrossCity.getPayMoney()));
                  request1.setRefundAccount(userInfo.getOnconUUID());
                  request1.setRemark("跨城订单取消退款");
                  OrderUtil.orderRefundNotice(request1);
                  OrderRefundNoticeRequest request2 = new OrderRefundNoticeRequest();
                  request2.setOrderId(orderCrossCity.getTravelId());
                  request2.setRefundPayNum(tradeOrderRefund.getRefundId());
                  request2.setRefundType("5");
                  request2.setApplyRefundCharge(BigDecimal.valueOf(orderCrossCity.getPayMoney()));
                  request2.setActualRefundCharge(BigDecimal.valueOf(orderCrossCity.getPayMoney()));
                  request2.setRefundAccount(userInfo.getOnconUUID());
                  request2.setRemark("跨城订单取消退款");
                  OrderUtil.orderRefundNotice(request2);
                  //添加交易明细
                  transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", query.getAmount(), 1, 1, 1, 3, id);
               }