2026-01-16 19:13:33 +08:00
|
|
|
package com.ruoyi.device.domain.impl;
|
|
|
|
|
|
2026-01-30 16:34:58 +08:00
|
|
|
import com.ruoyi.device.config.DeviceCacheConfig;
|
2026-01-16 19:13:33 +08:00
|
|
|
import com.ruoyi.device.domain.api.IPayloadDomain;
|
2026-01-21 13:18:33 +08:00
|
|
|
import com.ruoyi.device.domain.convert.PayloadConvert;
|
2026-01-16 19:13:33 +08:00
|
|
|
import com.ruoyi.device.domain.model.Payload;
|
|
|
|
|
import com.ruoyi.device.mapper.PayloadMapper;
|
|
|
|
|
import com.ruoyi.device.mapper.entity.PayloadEntity;
|
2026-01-30 16:34:58 +08:00
|
|
|
import org.springframework.cache.annotation.CacheEvict;
|
|
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
2026-01-16 19:13:33 +08:00
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 挂载Domain实现
|
|
|
|
|
*
|
|
|
|
|
* @author ruoyi
|
|
|
|
|
* @date 2026-01-16
|
|
|
|
|
*/
|
|
|
|
|
@Component
|
|
|
|
|
public class PayloadDomainImpl implements IPayloadDomain
|
|
|
|
|
{
|
|
|
|
|
private final PayloadMapper payloadMapper;
|
|
|
|
|
|
|
|
|
|
public PayloadDomainImpl(PayloadMapper payloadMapper)
|
|
|
|
|
{
|
|
|
|
|
this.payloadMapper = payloadMapper;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<Payload> selectPayloadList(Payload payload)
|
|
|
|
|
{
|
2026-01-21 13:18:33 +08:00
|
|
|
PayloadEntity entity = PayloadConvert.to(payload);
|
2026-01-16 19:13:33 +08:00
|
|
|
List<PayloadEntity> entityList = payloadMapper.selectPayloadList(entity);
|
2026-01-21 13:18:33 +08:00
|
|
|
return PayloadConvert.fromList(entityList);
|
2026-01-16 19:13:33 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2026-01-30 16:34:58 +08:00
|
|
|
@Cacheable(value = DeviceCacheConfig.PAYLOAD_CACHE, key = "'id:' + #payloadId", unless = "#result == null")
|
2026-01-16 19:13:33 +08:00
|
|
|
public Payload selectPayloadByPayloadId(Long payloadId)
|
|
|
|
|
{
|
|
|
|
|
PayloadEntity entity = payloadMapper.selectPayloadByPayloadId(payloadId);
|
2026-01-21 13:18:33 +08:00
|
|
|
return PayloadConvert.from(entity);
|
2026-01-16 19:13:33 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int insertPayload(Payload payload)
|
|
|
|
|
{
|
2026-01-21 13:18:33 +08:00
|
|
|
PayloadEntity entity = PayloadConvert.to(payload);
|
2026-01-17 17:10:32 +08:00
|
|
|
int result = payloadMapper.insertPayload(entity);
|
|
|
|
|
// MyBatis 会将自增主键回填到 entity 对象,需要同步回 payload 对象
|
|
|
|
|
payload.setPayloadId(entity.getPayloadId());
|
|
|
|
|
return result;
|
2026-01-16 19:13:33 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2026-01-30 16:34:58 +08:00
|
|
|
@CacheEvict(value = DeviceCacheConfig.PAYLOAD_CACHE, key = "'id:' + #payload.payloadId")
|
2026-01-16 19:13:33 +08:00
|
|
|
public int updatePayload(Payload payload)
|
|
|
|
|
{
|
2026-01-21 13:18:33 +08:00
|
|
|
PayloadEntity entity = PayloadConvert.to(payload);
|
2026-01-16 19:13:33 +08:00
|
|
|
return payloadMapper.updatePayload(entity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2026-01-30 16:34:58 +08:00
|
|
|
@CacheEvict(value = DeviceCacheConfig.PAYLOAD_CACHE, allEntries = true)
|
2026-01-16 19:13:33 +08:00
|
|
|
public int deletePayloadByPayloadId(Long payloadId)
|
|
|
|
|
{
|
|
|
|
|
return payloadMapper.deletePayloadByPayloadId(payloadId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
2026-01-30 16:34:58 +08:00
|
|
|
@CacheEvict(value = DeviceCacheConfig.PAYLOAD_CACHE, allEntries = true)
|
2026-01-16 19:13:33 +08:00
|
|
|
public int deletePayloadByPayloadIds(Long[] payloadIds)
|
|
|
|
|
{
|
|
|
|
|
return payloadMapper.deletePayloadByPayloadIds(payloadIds);
|
|
|
|
|
}
|
|
|
|
|
}
|