Pu Zhibing
2025-06-09 bfa0b11dfbfe5b71e11f4544e688e4d9f325d1b5
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -1,5 +1,6 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.dao.CarBrandMapper;
@@ -12,6 +13,7 @@
import com.stylefeng.guns.modular.system.util.ResultUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -77,8 +79,7 @@
    @Override
    public boolean idle(Integer id) throws Exception {
        Car car = this.selectById(id);
        List<Map<String, Object>> list = carMapper.queryIdleData(car.getFranchiseeId() != null && car.getFranchiseeId() != 0 ? car.getFranchiseeId() : (
                car.getCompanyId() != null && car.getCompanyId() != 0 ? car.getCompanyId() : 1));
        List<Map<String, Object>> list = carMapper.queryIdleData(car.getCompanyId());
        for(Map<String, Object> map : list){
            Integer carId = Integer.valueOf(String.valueOf(map.get("id")));
            if(carId.compareTo(id) == 0){
@@ -127,7 +128,8 @@
     */
    @Override
    public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone, Integer language) throws Exception {
                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone, Integer language
                                ,String otherBrand,String otherModel) throws Exception {
        Car query = carMapper.query(licensePlate);
        if(id==null){
@@ -143,9 +145,48 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Car car = new Car();
        car.setPeopleAndCarsPhone(peopleAndCarsPhone);
        car.setCarModelId(modelId);
        CarModel carModel = carModelMapper.selectById(modelId);
        car.setCarBrandId(carModel.getBrandId());
        //
        if (!StringUtils.isEmpty(otherBrand)){
            List<CarBrand> carBrandList = carBrandMapper.selectList(new EntityWrapper<CarBrand>().eq("name", otherBrand).eq("state",1));
            if (carBrandList.isEmpty()){
                CarBrand carBrand = new CarBrand();
                carBrand.setState(1);
                carBrand.setInsertTime(new Date());
                carBrand.setName(otherBrand);
                carBrand.setRemark("1");
                Integer insert = carBrandMapper.insert(carBrand);
                car.setCarBrandId(carBrand.getId());
            }else {
//                CarModel carModel = carModelMapper.selectById(modelId);
                car.setCarBrandId(carBrandList.get(0).getId());
            }
        }else {
            CarModel carModel = carModelMapper.selectById(modelId);
            car.setCarBrandId(carModel.getBrandId());
        }
        //
        if (!StringUtils.isEmpty(otherModel)){
            List<CarModel> carModels = carModelMapper.selectList(new EntityWrapper<CarModel>().eq("name", otherModel).eq("brandId", car.getCarBrandId()).eq("state",1));
            if (carModels.isEmpty()){
            CarModel carModel = new CarModel();
            carModel.setName(otherModel);
            carModel.setState(1);
            carModel.setInsertTime(new Date());
                carModel.setSeat(5);
            carModel.setBrandId(car.getCarBrandId());
                carModel.setRemark("1");
                carModelMapper.insert(carModel);
                car.setCarModelId(carModel.getId());
//            carModel.setSeat();
            }else {
                car.setCarModelId(carModels.get(0).getId());
            }
        }else {
            car.setCarModelId(modelId);
        }
        //
        car.setCarColor(color);
        car.setCarLicensePlate(licensePlate);
        car.setAnnualInspectionTime(time);
@@ -161,16 +202,13 @@
        }
        Driver driver = driverService.selectById(uid);
        car.setCompanyId(driver.getCompanyId());
        car.setFranchiseeId(driver.getFranchiseeId());
        car.setInsertTime(new Date());
        car.setState(1);
        car.setAuthState(1);
        car.setAddType(1);
        car.setDriverId(uid);
        car.setAddObjectId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
        car.setAddObjectId(driver.getCompanyId());
        Company company = companyMapper.selectById(driver.getCompanyId());
        car.setIsPlatCar(company.getType() == 1 ? 1 : 2);
        this.insertOrUpdate(car);
        //判断司机是否已经关联车辆,未关联车辆默认关联当前车辆