package com.ruoyi.basetyre.service.impl;

import java.util.List;
import java.util.UUID;

import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.basetyre.mapper.BaseCarMapper;
import com.ruoyi.basetyre.domain.BaseCar;
import com.ruoyi.basetyre.service.IBaseCarService;

/**
 * 车辆基础信息Service业务层处理
 * 
 * @author Yangwl
 * @date 2023-02-08
 */
@Service
public class BaseCarServiceImpl implements IBaseCarService 
{
    @Autowired
    private BaseCarMapper baseCarMapper;

    /**
     * 查询车辆基础信息
     * 
     * @param id 车辆基础信息主键
     * @return 车辆基础信息
     */
    @Override
    public BaseCar selectBaseCarById(String id)
    {
        return baseCarMapper.selectBaseCarById(id);
    }

    /**
     * 查询车辆基础信息列表
     * 
     * @param baseCar 车辆基础信息
     * @return 车辆基础信息
     */
    @Override
    public List<BaseCar> selectBaseCarList(BaseCar baseCar)
    {
        return baseCarMapper.selectBaseCarList(baseCar);
    }

    /**
     * 新增车辆基础信息
     * 
     * @param baseCar 车辆基础信息
     * @return 结果
     */
    @Override
    public int insertBaseCar(BaseCar baseCar)
    {
        baseCar.setCreateTime(DateUtils.getNowDate());
        baseCar.setId(UUID.randomUUID().toString());
        LoginUser loginUser=SecurityUtils.getLoginUser();
        baseCar.setCreateBy(loginUser.getUserId().toString());
        baseCar.setCreateName(loginUser.getUsername());
        baseCar.setModifyBy(loginUser.getUserId().toString());
        baseCar.setModifyTime(DateUtils.getNowDate());
        return baseCarMapper.insertBaseCar(baseCar);

    }


    /**
     * 修改车辆基础信息
     * 
     * @param baseCar 车辆基础信息
     * @return 结果
     */
    @Override
    public int updateBaseCar(BaseCar baseCar)
    {
        return baseCarMapper.updateBaseCar(baseCar);
    }

    /**
     * 批量删除车辆基础信息
     * 
     * @param ids 需要删除的车辆基础信息主键
     * @return 结果
     */
    @Override
    public int deleteBaseCarByIds(String[] ids)
    {
        return baseCarMapper.deleteBaseCarByIds(ids);
    }

    /**
     * 删除车辆基础信息信息
     * 
     * @param id 车辆基础信息主键
     * @return 结果
     */
    @Override
    public int deleteBaseCarById(String id)
    {
        return baseCarMapper.deleteBaseCarById(id);
    }

    @Override
    public String checkCarLicenseUnique(BaseCar baseCar) {
        return null;
    }
}
