package com.ruoyi.tms.service.impl; import java.util.List; import com.ruoyi.common.enums.SystemDataNoEnum; import com.ruoyi.common.utils.DateUtils; import javax.annotation.Resource; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.service.ISystemDataNoService; import com.ruoyi.tms.domain.TmsServiceProvider; import com.ruoyi.tms.mapper.TmsServiceProviderMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.stereotype.Service; import org.springframework.scheduling.annotation.Async; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.annotation.DataSource; import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.core.service.BaseService; import com.ruoyi.tms.mapper.TmsVehicleMapper; import com.ruoyi.tms.domain.TmsVehicle; import com.ruoyi.tms.service.ITmsVehicleService; import com.ruoyi.common.core.text.Convert; /** * 车辆管理Service业务层处理 * * @author ruoyi * @date 2025-11-03 */ @Service @Transactional(rollbackFor = Exception.class) public class TmsVehicleServiceImpl extends BaseService implements ITmsVehicleService { protected final Logger logger = LoggerFactory.getLogger(getClass()); @Resource private TmsVehicleMapper tmsVehicleMapper; @Resource private TmsServiceProviderMapper tmsServiceProviderMapper; @Autowired ISystemDataNoService systemDataNoService; /** * 查询车辆管理 * * @param id 车辆管理ID * @return 车辆管理 */ @DataSource(DataSourceType.SLAVE) @Override public TmsVehicle selectTmsVehicleById(Integer id) { return tmsVehicleMapper.selectTmsVehicleById(id); } /** * 查询车辆管理 记录数 * * @param tmsVehicle 车辆管理 * @return 车辆管理集合 */ @DataSource(DataSourceType.SLAVE) @Override public int selectTmsVehicleCount(TmsVehicle tmsVehicle) { return tmsVehicleMapper.selectTmsVehicleCount(tmsVehicle); } /** * 查询车辆管理列表 * * @param tmsVehicle 车辆管理 * @return 车辆管理 */ @DataSource(DataSourceType.SLAVE) @Override public List selectTmsVehicleList(TmsVehicle tmsVehicle) { return tmsVehicleMapper.selectTmsVehicleList(tmsVehicle); } /** * 查询车辆管理列表 异步 导出 * * @param tmsVehicle 车辆管理 * @param exportKey 导出功能的唯一标识 * @return 车辆管理集合 */ @DataSource(DataSourceType.SLAVE) @Async @Override public void export(TmsVehicle tmsVehicle,String exportKey) { super.export(TmsVehicle.class,exportKey,"tmsVehicleData",(pageNum)->{ PageUtils.startPage(pageNum, Constants.EXPORT_PATE_SIZE); return selectTmsVehicleList(tmsVehicle); }); } /** * 新增车辆管理 * * @param tmsVehicle 车辆管理 * @return 结果 */ @Override public int insertTmsVehicle(TmsVehicle tmsVehicle) { String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.CN); tmsVehicle.setSystemCode(noByKey); tmsVehicle.setCreateBy(SecurityUtils.getUsername()); tmsVehicle.setCreateTime(DateUtils.getNowDate()); return tmsVehicleMapper.insertTmsVehicle(tmsVehicle); } /** * 新增车辆管理[批量] * * @param tmsVehicles 车辆管理 * @return 结果 */ @Override public int insertTmsVehicleBatch(List tmsVehicles) { int rows = tmsVehicleMapper.insertTmsVehicleBatch(tmsVehicles); return rows; } /** * 修改车辆管理 * * @param tmsVehicle 车辆管理 * @return 结果 */ @Override public int updateTmsVehicle(TmsVehicle tmsVehicle) { tmsVehicle.setUpdateBy(SecurityUtils.getUsername()); tmsVehicle.setUpdateTime(DateUtils.getNowDate()); return tmsVehicleMapper.updateTmsVehicle(tmsVehicle); } /** * 修改车辆管理[批量] * * @param tmsVehicles 车辆管理 * @return 结果 */ @Override public int updateTmsVehicleBatch(List tmsVehicles){ return tmsVehicleMapper.updateTmsVehicleBatch(tmsVehicles); } /** * 删除车辆管理对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsVehicleByIds(String ids) { return deleteTmsVehicleByIds(Convert.toIntArray(ids)); } /** * 删除车辆管理对象 * * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteTmsVehicleByIds(Integer[] ids) { return tmsVehicleMapper.deleteTmsVehicleByIds(ids); } /** * 删除车辆管理信息 * * @param id 车辆管理ID * @return 结果 */ @Override public int deleteTmsVehicleById(Integer id) { return tmsVehicleMapper.deleteTmsVehicleById(id); } }