a-tuoheng-device/src/main/java/com/ruoyi/device/domain/impl/DockAircraftDomainImpl.java

100 lines
3.8 KiB
Java

package com.ruoyi.device.domain.impl;
import com.ruoyi.device.config.DeviceCacheConfig;
import com.ruoyi.device.domain.api.IDockAircraftDomain;
import com.ruoyi.device.domain.convert.DockAircraftConvert;
import com.ruoyi.device.domain.model.DockAircraft;
import com.ruoyi.device.mapper.DockAircraftMapper;
import com.ruoyi.device.mapper.entity.DockAircraftEntity;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.cache.annotation.Caching;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 机场无人机关联Domain实现
*
* @author ruoyi
* @date 2026-01-16
*/
@Component
public class DockAircraftDomainImpl implements IDockAircraftDomain
{
private final DockAircraftMapper dockAircraftMapper;
public DockAircraftDomainImpl(DockAircraftMapper dockAircraftMapper)
{
this.dockAircraftMapper = dockAircraftMapper;
}
@Override
public List<DockAircraft> selectDockAircraftList(DockAircraft dockAircraft)
{
DockAircraftEntity entity = DockAircraftConvert.to(dockAircraft);
List<DockAircraftEntity> entityList = dockAircraftMapper.selectDockAircraftList(entity);
return DockAircraftConvert.fromList(entityList);
}
@Override
@Cacheable(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, key = "'id:' + #id", unless = "#result == null")
public DockAircraft selectDockAircraftById(Long id)
{
DockAircraftEntity entity = dockAircraftMapper.selectDockAircraftById(id);
return DockAircraftConvert.from(entity);
}
@Override
@Cacheable(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, key = "'dockId:' + #dockId", unless = "#result == null")
public List<DockAircraft> selectDockAircraftByDockId(Long dockId)
{
List<DockAircraftEntity> entityList = dockAircraftMapper.selectDockAircraftListByDockId(dockId);
return DockAircraftConvert.fromList(entityList);
}
@Override
@Cacheable(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, key = "'aircraftId:' + #aircraftId", unless = "#result == null")
public List<DockAircraft> selectDockAircraftByAircraftId(Long aircraftId)
{
List<DockAircraftEntity> entityList = dockAircraftMapper.selectDockAircraftListByAircraftId(aircraftId);
return DockAircraftConvert.fromList(entityList);
}
@Override
@CacheEvict(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, allEntries = true)
public int insertDockAircraft(DockAircraft dockAircraft)
{
DockAircraftEntity entity = DockAircraftConvert.to(dockAircraft);
int result = dockAircraftMapper.insertDockAircraft(entity);
// MyBatis 会将自增主键回填到 entity 对象,需要同步回 dockAircraft 对象
dockAircraft.setId(entity.getId());
return result;
}
@Override
@Caching(evict = {
@CacheEvict(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, key = "'id:' + #dockAircraft.id"),
@CacheEvict(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, key = "'dockId:' + #dockAircraft.dockId"),
@CacheEvict(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, key = "'aircraftId:' + #dockAircraft.aircraftId")
})
public int updateDockAircraft(DockAircraft dockAircraft)
{
DockAircraftEntity entity = DockAircraftConvert.to(dockAircraft);
return dockAircraftMapper.updateDockAircraft(entity);
}
@Override
@CacheEvict(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, allEntries = true)
public int deleteDockAircraftById(Long id)
{
return dockAircraftMapper.deleteDockAircraftById(id);
}
@Override
@CacheEvict(value = DeviceCacheConfig.DOCK_AIRCRAFT_CACHE, allEntries = true)
public int deleteDockAircraftByIds(Long[] ids)
{
return dockAircraftMapper.deleteDockAircraftByIds(ids);
}
}