package com.ruoyi.system.service.impl;
|
|
import java.util.List;
|
import java.util.Date;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.system.mapper.VehicleInfoMapper;
|
import com.ruoyi.system.domain.VehicleInfo;
|
import com.ruoyi.system.service.IVehicleInfoService;
|
|
/**
|
* 车辆信息Service业务层处理
|
*/
|
@Service
|
public class VehicleInfoServiceImpl implements IVehicleInfoService {
|
@Autowired
|
private VehicleInfoMapper vehicleInfoMapper;
|
|
/**
|
* 查询车辆信息
|
*
|
* @param vehicleId 车辆信息主键
|
* @return 车辆信息
|
*/
|
@Override
|
public VehicleInfo selectVehicleInfoById(Long vehicleId) {
|
return vehicleInfoMapper.selectVehicleInfoById(vehicleId);
|
}
|
|
/**
|
* 通过车牌号查询车辆信息
|
*
|
* @param plateNumber 车牌号
|
* @return 车辆信息
|
*/
|
@Override
|
public VehicleInfo selectVehicleInfoByPlateNumber(String plateNumber) {
|
return vehicleInfoMapper.selectVehicleInfoByPlateNumber(plateNumber);
|
}
|
|
/**
|
* 查询车辆信息列表
|
*
|
* @param vehicleInfo 车辆信息
|
* @return 车辆信息
|
*/
|
@Override
|
public List<VehicleInfo> selectVehicleInfoList(VehicleInfo vehicleInfo) {
|
return vehicleInfoMapper.selectVehicleInfoList(vehicleInfo);
|
}
|
|
/**
|
* 新增车辆信息
|
*
|
* @param vehicleInfo 车辆信息
|
* @return 结果
|
*/
|
@Override
|
public int insertVehicleInfo(VehicleInfo vehicleInfo) {
|
return vehicleInfoMapper.insertVehicleInfo(vehicleInfo);
|
}
|
|
/**
|
* 修改车辆信息
|
*
|
* @param vehicleInfo 车辆信息
|
* @return 结果
|
*/
|
@Override
|
public int updateVehicleInfo(VehicleInfo vehicleInfo) {
|
return vehicleInfoMapper.updateVehicleInfo(vehicleInfo);
|
}
|
|
/**
|
* 批量删除车辆信息
|
*
|
* @param vehicleIds 需要删除的车辆信息主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteVehicleInfoByIds(Long[] vehicleIds) {
|
return vehicleInfoMapper.deleteVehicleInfoByIds(vehicleIds);
|
}
|
|
/**
|
* 删除车辆信息信息
|
*
|
* @param vehicleId 车辆信息主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteVehicleInfoById(Long vehicleId) {
|
return vehicleInfoMapper.deleteVehicleInfoById(vehicleId);
|
}
|
|
/**
|
* 绑定车辆到用户
|
*
|
* @param userId 用户ID
|
* @param vehicleId 车辆ID
|
* @return 结果
|
*/
|
@Override
|
@Transactional
|
public int bindVehicleToUser(Long userId, Long vehicleId) {
|
// 先解绑用户的所有车辆(业务逻辑:一个用户同时只能绑定一辆车)
|
vehicleInfoMapper.unbindAllVehiclesFromUser(userId);
|
|
// 绑定新车辆
|
String bindBy = "";
|
try {
|
bindBy = SecurityUtils.getUsername();
|
} catch (Exception e) {
|
// 如果获取当前用户失败,使用空字符串
|
}
|
return vehicleInfoMapper.bindVehicleToUser(userId, vehicleId, bindBy);
|
}
|
|
/**
|
* 解绑用户车辆
|
*
|
* @param userId 用户ID
|
* @param vehicleId 车辆ID
|
* @return 结果
|
*/
|
@Override
|
public int unbindVehicleFromUser(Long userId, Long vehicleId) {
|
return vehicleInfoMapper.unbindVehicleFromUser(userId, vehicleId);
|
}
|
|
/**
|
* 获取用户当前绑定的车辆
|
*
|
* @param userId 用户ID
|
* @return 车辆信息
|
*/
|
@Override
|
public VehicleInfo getUserBoundVehicle(Long userId) {
|
return vehicleInfoMapper.getUserBoundVehicle(userId);
|
}
|
}
|