Pu Zhibing
昨天 bf2acefcf5ba801d3e4a4f507c5f064fc93625cc
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -20,12 +20,10 @@
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper;
import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.system.dao.PhoneMapper;
import com.stylefeng.guns.modular.system.dao.RegionMapper;
import com.stylefeng.guns.modular.system.dao.SysIntegralMapper;
import com.stylefeng.guns.modular.system.dao.UserInfoMapper;
import com.stylefeng.guns.modular.system.dao.*;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.service.impl.CarServiceImpl;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.MerchantCouponListWarpper;
@@ -43,6 +41,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
@@ -151,11 +150,18 @@
    @Autowired
    private QrCodeConfiguration qrCodeConfiguration;
    @Autowired
    private TDriverPromotionActivityService driverPromotionActivityService;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
    @Value("${callbackPath}")
    private String callbackPath;
    @Autowired
    private CarModelMapper carModelMapper;
    @Autowired
    private CarServiceImpl carServiceImpl;
    /**
@@ -292,7 +298,13 @@
                //还原座位数
                LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId());
                lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber());
                if(1 == orderCrossCity.getTravelMode()){
                    lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber());
                }else{
                    Car car = carServiceImpl.selectById(driver.getCarId());
                    CarModel carModel = carModelMapper.selectById(car.getCarModelId());
                    lineShiftDriver.setLaveSeat(carModel.getSeat() - 1);
                }
                lineShiftDriver.setLaveSeatNumber(
                        (ToolUtil.isNotEmpty(lineShiftDriver.getLaveSeatNumber()) ? lineShiftDriver.getLaveSeatNumber() + ","  : "") +
                                orderCrossCity.getSeatNumber()
@@ -301,7 +313,7 @@
                //修改司机空闲状态
                List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryWithin30Minutes(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11);
                if(orderCrossCities.size() == 0){
                if(orderCrossCities.size() <= 1){
                    driver = driverService.selectById(orderCrossCity.getDriverId());
                    driver.setState(2);
                    driverService.updateById(driver);
@@ -370,6 +382,7 @@
                pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据
                systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId(), 1);
                promotion(orderId);
                break;
        }
        this.updateById(orderCrossCity);
@@ -385,7 +398,29 @@
        return ResultUtil.success();
    }
    public void promotion(Integer orderId) {
        OrderCrossCity orderCrossCity = this.baseMapper.selectById(orderId);
        UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId());
        if(orderCrossCity.getPromotionDriverId()!=null ){
            String registAreaCode = userInfo.getRegistAreaCode();
            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 3 + ", bizType) limit 1"));
            System.out.println("ddddd"+tDriverPromotionActivity);
            if(tDriverPromotionActivity!=null){
                Double payMoney = orderCrossCity.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);
                orderCrossCity.setPromotionDriverId(userInfo.getBindDriverId());
                orderCrossCity.setPromotionMoney(bigDecimal);
                orderCrossCity.setPromotionActivityId(tDriverPromotionActivity.getId());
                orderCrossCity.setSuccessTime(new Date());
                this.baseMapper.updateById(orderCrossCity);
            }
        }
    }
    /**
     * 获取订单明细
     * @param orderId
@@ -915,7 +950,7 @@
        String lat = orderPosition.getLat();
        OrderCrossCity order = this.selectById(orderId);
        if(null == order){
            System.err.println("订单数据异常:" + orderId);
            System.err.println("跨城订单数据异常:" + orderId);
            return false;
        }