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,25 +128,65 @@
     */
    @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) 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){
            if(null != query){
                return ResultUtil.error("车牌号已经使用");
                return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "Plate number is already in use" : "Le numéro de plaque est déjà utilisé");
            }
        }else{
            if(null != query && !id.equals(query.getId())){
                return ResultUtil.error("车牌号已经使用");
                return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "Plate number is already in use" : "Le numéro de plaque est déjà utilisé");
            }
        }
        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);
        //判断司机是否已经关联车辆,未关联车辆默认关联当前车辆