package com.loan.system.service.Impl; import com.loan.system.domain.entity.ContractDisbursement; import com.loan.system.domain.entity.Document; import com.loan.system.repository.ContractDisbursementRepository; import com.loan.system.service.ContractDisbursementService; import lombok.Data; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Iterator; import java.util.List; import java.util.Map; @Service @RequiredArgsConstructor public class ContractDisbursementServiceImpl implements ContractDisbursementService { private final ContractDisbursementRepository contractDisbursementRepository; @Override public void addContractDisbursement(Map contractIdAndAmount, Long recordId , Long caseId ,Boolean isPlan) { Iterator> iterator = contractIdAndAmount.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry entry = iterator.next(); Long id = entry.getKey(); Double amount = entry.getValue(); ContractDisbursement contractDisbursement = new ContractDisbursement(); contractDisbursement.setContractId(id); contractDisbursement.setDisbursementRecordId(recordId); contractDisbursement.setAmount(amount); contractDisbursement.setCaseId(caseId); contractDisbursement.setIsDelete(false); contractDisbursement.setIsPlan(isPlan); contractDisbursement.setCreateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); contractDisbursement.setUpdateTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); contractDisbursementRepository.save(contractDisbursement); } } @Override public List findByRecordIdAndIsPlan(Long recordId, Boolean isPlan) { return contractDisbursementRepository.findByRecordIdAndIsPlanAndIsDelete(recordId,isPlan, false); } @Override public void deleteByRecordId(Long id, Boolean isPlan) { contractDisbursementRepository.deleteByRecordId(id,isPlan); } @Override public List findByCaseIdAndIsPlan(Long caseId, boolean b) { return contractDisbursementRepository.findByCaseIdAndIsPlanAndIsDelete(caseId,b, false); } }