Pu Zhibing
4 天以前 9641d9ebc7b32b7e2cee898c8e9250e798c97e1b
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -703,6 +703,15 @@
                     orderPrivateCar.setIsDelete(1);
                     orderPrivateCar.setPid(orderPrivateCar1.getPid() == null ? orderPrivateCar1.getId() : orderPrivateCar1.getPid());
                     Integer promotion1 = isPromotion(orderPrivateCar.getUserId());
                     if(promotion1!=null){
                        orderPrivateCar.setPromotion(2);
                        Driver driver1 = driverService.selectById(promotion);
                        orderPrivateCar.setPromotionUser(driver1.getName());
                        orderPrivateCar.setPromotionPhone(driver1.getPhone());
                        orderPrivateCar.setPromotionDriverId(promotion1);
                     }
                     Company company = companyService.selectById(driver.getCompanyId());
                     //调三方订单中心创建行程单
                     CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
@@ -717,8 +726,8 @@
                     request.setServiceType(2);
                     String travelItinerary = OrderUtil.createTravelItinerary(request);
                     orderPrivateCar.setTravelId(travelItinerary);
                     this.insertOrUpdate(orderPrivateCar);
                     //修改总订单人数
                     OrderPrivateCar orderPrivateCar2 = new OrderPrivateCar();
                     orderPrivateCar2.setSpellSuccess(1);
@@ -771,7 +780,7 @@
      UserInfo userInfo = userInfoService.selectById(userId);
      if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
         String registAreaCode = userInfo.getRegistAreaCode();
         TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).eq("state",1).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
         TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).eq("state",1).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
         if(tDriverPromotionActivity!=null){
            return userInfo.getBindDriverId();
         }
@@ -1270,14 +1279,10 @@
      if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){
         map.put("state", map.get("oldState"));
      }
      if(Integer.valueOf(String.valueOf(map.get("state"))) ==7 &&  (map.get("responsibilityType")==null || Integer.valueOf(String.valueOf(map.get("responsibilityType")))<4)){
         map.put("appealButton", 1);
      }
      if(map.get("abnormalIntro")!=null){
         map.put("appealStatus", 1);
      }
      if(Integer.valueOf(String.valueOf(map.get("state"))) != 8 && Integer.valueOf(String.valueOf(map.get("state"))) != 9){
         map.put("redPacketMoney", null);
         map.put("couponMoney", null);
@@ -2349,6 +2354,8 @@
         Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderPrivateCar.getOrderMoney());
         orderPrivateCar.setSplitAllocation(JSON.toJSONString(map));
         this.updateAllColumnById(orderPrivateCar);
         promotion(orderPrivateCar.getId());
@@ -2379,8 +2386,12 @@
         resultUtil = appOrderController.placeAnOrder(new BigDecimal(orderMoney), 4, orderId, 6, integer);
         
      }
      this.updateAllColumnById(orderPrivateCar);
      if(payType != 3){
         this.updateAllColumnById(orderPrivateCar);
      }
      return resultUtil;
   }
   
@@ -2662,7 +2673,7 @@
            OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
            List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//获取需要推送的次数
            int time = 0;
            for (int i = 1; i <= querys.size() + 5; i++) {
            for (int i = 1; i <= querys.size() + 15; i++) {
               int finalI = i;
               PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null);
               time += pushOrder.getPushTime() * 1000;
@@ -2826,7 +2837,7 @@
               OpenCity openCity = openCityService.openCity1(startLon.toString(), startLat.toString());
               List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数
               //整轮派单结束,若无司机接单,系统自动增加派单5轮,若增加5轮后任无司机接单,则系统结束派单,乘客端显示无司机接单、是否再次打车
               for (int i = 1; i <= querys.size() + 5; i++) {
               for (int i = 1; i <= querys.size() + 15; i++) {
                  OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(id);
                  if (null == orderPrivateCar || orderPrivateCar.getState() > 1) {
                     break;
@@ -2859,12 +2870,13 @@
                     }
                  }
                  Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间
                  Integer state = orderPrivateCarMapper.selectById(orderPrivateCar.getId()).getState();
                  OrderPrivateCar orderPrivateCar1 = orderPrivateCarMapper.selectById(orderPrivateCar.getId());
                  Integer state =orderPrivateCar1.getState();
                  if (state > 1) {
                     orderIds.remove(orderPrivateCar.getId());
                     break;
                  }
                  if (i == querys.size() + 5) {
                  if (i == querys.size() + 15) {
                     pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
                     orderIds.remove(orderPrivateCar.getId());
                  }
@@ -2897,7 +2909,7 @@
               }
               OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());
               List<PushOrder> querys = pushOrderService.querys(null, 1, openCity.getId());//获取需要推送的次数
               for (int i = 1; i <= querys.size() + 5; i++) {
               for (int i = 1; i <= querys.size() + 15; i++) {
                  OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(id);
                  if (null == orderPrivateCar || orderPrivateCar.getState() > 1) {
                     break;
@@ -2940,7 +2952,7 @@
                        orderIds.remove(orderPrivateCar.getId());
                        return;
                     }
                     if (i == querys.size() + 5 && state == 1) {
                     if (i == querys.size() + 15 && state == 1) {
                        pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1);
                        orderIds.remove(orderPrivateCar.getId());
                     }
@@ -2975,15 +2987,20 @@
      UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
//      if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
      // 开始绑定的  后面到期也结算
      System.out.println("eeeee+"+orderPrivateCar.getPromotionDriverId());
      if(orderPrivateCar.getPromotionDriverId()!=null ){
         String registAreaCode = userInfo.getRegistAreaCode();
         TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
         TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
         System.out.println("ddddd"+tDriverPromotionActivity);
         if(tDriverPromotionActivity!=null){
            Double payMoney = orderPrivateCar.getPayMoney();
            System.out.println(payMoney);
            BigDecimal bigDecimal = tDriverPromotionActivity.getCommissionRatio().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(payMoney)).setScale(2, RoundingMode.HALF_UP);
            System.out.println(bigDecimal);
            orderPrivateCar.setPromotionDriverId(userInfo.getBindDriverId());
            orderPrivateCar.setPromotionMoney(bigDecimal);
            orderPrivateCar.setPromotionActivityId(tDriverPromotionActivity.getId());
            orderPrivateCar.setSuccessTime(new Date());
            this.baseMapper.updateById(orderPrivateCar);
         }
      }