diff --git a/src/main/java/xuan/repository/DeductRecordRepository.java b/src/main/java/xuan/repository/DeductRecordRepository.java index d419937..6b6eb62 100644 --- a/src/main/java/xuan/repository/DeductRecordRepository.java +++ b/src/main/java/xuan/repository/DeductRecordRepository.java @@ -29,4 +29,6 @@ public interface DeductRecordRepository extends JpaRepository findByUserIdAndTypeAndKeyword(@Param("userId") String userId, @Param("type") String type, @Param("keyword") String keyword, Pageable pageable); + + List findByUserIdAndTypeAndInputData(String userId, String type, String inputData); } diff --git a/src/main/java/xuan/service/DeductRecordService.java b/src/main/java/xuan/service/DeductRecordService.java index d36c283..d5967f2 100644 --- a/src/main/java/xuan/service/DeductRecordService.java +++ b/src/main/java/xuan/service/DeductRecordService.java @@ -20,6 +20,21 @@ public class DeductRecordService { @Transactional public DeductRecord saveRecord(DeductRecord record) { + if (record.getInputData() != null && !record.getInputData().isEmpty()) { + List existingRecords = recordRepository.findByUserIdAndTypeAndInputData( + record.getUserId(), + record.getType(), + record.getInputData() + ); + + if (!existingRecords.isEmpty()) { + DeductRecord existingRecord = existingRecords.get(0); + existingRecord.setResultData(record.getResultData()); + existingRecord.setAiAnalysis(record.getAiAnalysis()); + return recordRepository.save(existingRecord); + } + } + return recordRepository.save(record); }