Pu Zhibing
4 天以前 b219589d73f46bd98995bceb4caf16dadb56b869
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -48,6 +48,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;
@@ -1847,7 +1849,7 @@
         return ResultUtil.error("订单不在待支付状态,不允许支付", "");
      }
      Integer uid = orderPrivateCar.getUserId();
      Double orderMoney = orderPrivateCar.getOrderMoney();
      Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
      UserInfo userInfo = userInfoService.selectById(uid);
      ResultUtil resultUtil = ResultUtil.success(new Object());
      orderPrivateCar.setCouponMoney(0D);//初始化历史数据
@@ -1942,7 +1944,7 @@
         //非追缴单才需要添加收入
         if(0 == orderPrivateCar.getRecoveryOrder()){
            //添加收入
            Double orderMoney1 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
            Double orderMoney1 = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
            Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney1);
            orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
         }
@@ -1982,8 +1984,9 @@
      if (orderPrivateCar.getState() != 7) {
         return ResultUtil.error("订单不在待支付状态,不允许支付", new ArrayList<>());
      }
      Integer uid = orderPrivateCar.getUserId();
      Double orderMoney = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
      Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
      UserInfo userInfo = userInfoService.selectById(uid);
      ResultUtil resultUtil = ResultUtil.success(new Object());
      orderPrivateCar.setCouponMoney(0D);//初始化历史数据
@@ -2194,9 +2197,9 @@
            tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString());
            //追缴单不要分账
            if(0 == orderPrivateCar.getRecoveryOrder()){
               tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
               tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isCompensate\":\"0\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}");
            }else{
               tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}");
               tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isCompensate\":\"1\",\"isPromote\":\"0\"}");
            }
            tradeOrderCreateData.setCharge(new BigDecimal(orderMoney));
            tradeOrderCreateData.setOrderId(orderPrivateCar.getTravelId());
@@ -2215,6 +2218,7 @@
               goodsInfoRequest.setProfitSharing("1");
            }else{
               goodsInfoRequest.setProfitSharing("0");
               goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
            }
            goodsInfo.add(goodsInfoRequest);
            tradeOrderCreateData.setGoodsInfo(goodsInfo);
@@ -2226,6 +2230,15 @@
            orderPrivateCar.setIsCreated(1);
            resultUtil = ResultUtil.success(payInfo.getData().getRedirectUrl());
         }else{
            //查询支付信息
            GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
            getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId());
            GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
            String status = getPaymentInfo.getStatus();
            if("1".equals(status) || "2".equals(status)){
               payOrderPrivateCarCallback(orderPrivateCar.getId(), getPaymentInfo.getPayId(), 1);
               return ResultUtil.error("订单已完成支付,不允许重复支付", new ArrayList<>());
            }
            //拉起支付
            TradePayOff1Data tradePayOff1Data = new TradePayOff1Data();
            tradePayOff1Data.setPartnerPayId(orderPrivateCar.getTravelId());
@@ -2240,6 +2253,7 @@
               goodsInfoRequest.setProfitSharing("1");
            }else{
               goodsInfoRequest.setProfitSharing("0");
               goodsInfoRequest.setSettleDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
            }
            goodsInfo.add(goodsInfoRequest);
            tradePayOff1Data.setGoodsInfo(goodsInfo);
@@ -2270,11 +2284,11 @@
                  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){
                     GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
                     getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar1.getTravelId());
                     GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest);
                     payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo.getPayId(), 1);
                  if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){
                     GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest();
                     getPaymentInfoDataRequest1.setPartnerPayId(orderPrivateCar1.getTravelId());
                     GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1);
                     payOrderPrivateCarCallback(orderPrivateCar1.getId(), getPaymentInfo1.getPayId(), 1);
                     break;
                  }
                  Thread.sleep(wait);
@@ -2335,12 +2349,18 @@
         //非追缴单才添加收入记录
         if(0 == orderPrivateCar.getRecoveryOrder()){
            //添加收入
            Double orderMoney1 = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
            Double orderMoney1 = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
            Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney1);
            orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
         }
         //待审核的异常单修改状态为已关闭
         if(2 == orderPrivateCar.getAbnormal() && 1 == orderPrivateCar.getAbnormalStatus()){
            orderPrivateCar.setAbnormalStatus(3);
            orderPrivateCar.setResponsibilityMoney(new BigDecimal(orderPrivateCar.getOrderMoney()));
            orderPrivateCar.setResponsibilityType(3);
            orderPrivateCar.setAbnormalRemark("乘客已支付订单,申诉已自动关闭");
         }
         this.updateAllColumnById(orderPrivateCar);
         promotion(orderPrivateCar.getId());
@@ -2551,8 +2571,10 @@
         UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
         OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
         SysIntegral query1 = sysIntegralMapper.query(openCity.getId());
         userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分
         userInfoService.updateById(userInfo);
         if(null != query1){
            userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分
            userInfoService.updateById(userInfo);
         }
         
         //处理优惠券和红包
         if (null != orderPrivateCar.getCouponId()) {
@@ -2585,10 +2607,17 @@
         //非追缴单才需要记录收入
         if(0 == orderPrivateCar.getRecoveryOrder()){
            //添加收入
            Double orderMoney = (1 == orderPrivateCar.getAbnormal() ? orderPrivateCar.getOrderMoney() : orderPrivateCar.getResponsibilityMoney().doubleValue());
            Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney());
            Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney);
            orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
         }
         //待审核的异常单修改状态为已关闭
         if(2 == orderPrivateCar.getAbnormal() && 1 == orderPrivateCar.getAbnormalStatus()){
            orderPrivateCar.setAbnormalStatus(3);
            orderPrivateCar.setResponsibilityMoney(new BigDecimal(orderPrivateCar.getOrderMoney()));
            orderPrivateCar.setResponsibilityType(3);
            orderPrivateCar.setAbnormalRemark("乘客已支付订单,申诉已自动关闭");
         }
         this.updateById(orderPrivateCar);
         promotion(orderPrivateCar.getId());