package xuan.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import xuan.entity.DeductRecord; import xuan.repository.DeductRecordRepository; import java.util.List; import java.util.Optional; @Service public class DeductRecordService { @Autowired private DeductRecordRepository recordRepository; @Transactional public DeductRecord saveRecord(DeductRecord record) { return recordRepository.save(record); } public Optional findById(Long id) { return recordRepository.findById(id); } public List findByUserId(String userId) { return recordRepository.findByUserIdOrderByCreateTimeDesc(userId); } public List findByUserIdAndType(String userId, String type) { return recordRepository.findByUserIdAndTypeOrderByCreateTimeDesc(userId, type); } public List findRecentByUserId(String userId) { return recordRepository.findTop10ByUserIdOrderByCreateTimeDesc(userId); } @Transactional public void deleteById(Long id) { recordRepository.deleteById(id); } @Transactional public void deleteByUserId(String userId) { List records = recordRepository.findByUserIdOrderByCreateTimeDesc(userId); recordRepository.deleteAll(records); } }