曾富康
2026-06-22 e4f50565f585ac3bb7355fe7b9da794bb855113f
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
@@ -118,6 +118,46 @@
    public List<Map<String, Object>> queryServerCarModels(Integer type) {
        return serverCarModelMapper.queryServerCarModel(type);
    }
    /**
     * 快捷叫车无终点,只返回可选车辆信息,不计算预估价格。
     *
     * @param startLonLat 起点经纬度
     * @return 车辆信息
     * @throws Exception
     */
    @Override
    public ResultUtil<List<ServerCarModelWarpper>> queryQuickCallServerCarModel(String startLonLat) throws Exception {
        Map<String, String> geocode = gdMapGeocodingUtil.geocode(startLonLat.split(",")[0], startLonLat.split(",")[1]);
        Company query = companyCityService.query(geocode.get("districtCode"));
        if (null == query) {
            return ResultUtil.error("起点暂无企业提供服务", new ArrayList<>());
        }
        OpenCity openCity = openCityService.openCity1(geocode.get("districtCode"));
        if (null == openCity) {
            return ResultUtil.error("起点暂未开通", new ArrayList<>());
        }
        List<BaseWarpper> baseWarppers = openCityBusinessService.queryBusinessById(openCity.getId());
        List<ServerCarModelWarpper> data = new ArrayList<>();
        Optional<BaseWarpper> privateCarBusiness = baseWarppers.stream().filter(s -> s.getId() == 1).findFirst();
        if (privateCarBusiness.isPresent() && !Integer.valueOf(2).equals(query.getIsSpe())) {
            data.addAll(this.getPrice(query.getId(), 0, 0, 0, 1, geocode));
        }
        Optional<BaseWarpper> taxiBusiness = baseWarppers.stream().filter(s -> s.getId() == 2).findFirst();
        if (taxiBusiness.isPresent() && !Integer.valueOf(2).equals(query.getIsTaxi())) {
            ServerCarModelWarpper taxiWarpper = this.getTextPrice(query.getId(), 0, 0, 0, 2, geocode);
            if (taxiWarpper != null) {
                data.add(taxiWarpper);
            }
        }
        // 快捷叫车不能参与拼车合单,前端不展示拼车选项。
        for (ServerCarModelWarpper warpper : data) {
            warpper.setMileage(0D);
            warpper.setDuration(0D);
            warpper.setPc_check(0);
        }
        return ResultUtil.success(data);
    }
    
    
    /**