LoanRepository.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package com.loan.system.repository;
  2. import com.loan.system.domain.entity.LoanCase;
  3. import com.loan.system.domain.entity.User;
  4. import org.springframework.data.domain.Page;
  5. import org.springframework.data.domain.Pageable;
  6. import org.springframework.data.jpa.repository.JpaRepository;
  7. import org.springframework.data.jpa.repository.Modifying;
  8. import org.springframework.data.jpa.repository.Query;
  9. import org.springframework.data.repository.query.Param;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import java.util.List;
  12. /**
  13. * @author EdwinXu
  14. * @date 2020/9/2 - 15:35
  15. * @Description
  16. */
  17. public interface LoanRepository extends JpaRepository<LoanCase,Long> {
  18. Page<LoanCase> findByIsCompleteAndIsDelete(Boolean isComplete, boolean isDelete, Pageable pageable);
  19. @Transactional
  20. @Modifying
  21. @Query("UPDATE LoanCase l SET " +
  22. "l.customerId = CASE WHEN :#{#loanCase.customerId} IS NOT NULL THEN :#{#loanCase.customerId} ELSE l.customerId END, " +
  23. "l.businessType = CASE WHEN :#{#loanCase.businessType} IS NOT NULL THEN :#{#loanCase.businessType} ELSE l.businessType END, " +
  24. "l.businessAttrs = CASE WHEN :#{#loanCase.businessAttrs} IS NOT NULL THEN :#{#loanCase.businessAttrs} ELSE l.businessAttrs END, " +
  25. "l.channelName = CASE WHEN :#{#loanCase.channelName} IS NOT NULL THEN :#{#loanCase.channelName} ELSE l.channelName END, " +
  26. "l.recommenderId = CASE WHEN :#{#loanCase.recommenderId} IS NOT NULL THEN :#{#loanCase.recommenderId} ELSE l.recommenderId END, " +
  27. "l.totalLoanAmount = CASE WHEN :#{#loanCase.totalLoanAmount} IS NOT NULL THEN :#{#loanCase.totalLoanAmount} ELSE l.totalLoanAmount END, " +
  28. "l.isComplete = CASE WHEN :#{#loanCase.isComplete} IS NOT NULL THEN :#{#loanCase.isComplete} ELSE l.isComplete END, " +
  29. "l.updateTime = CASE WHEN :#{#loanCase.updateTime} IS NOT NULL THEN :#{#loanCase.updateTime} ELSE l.updateTime END " +
  30. "WHERE l.id = :caseId")
  31. void updateLoanCaseById(@Param("loanCase") LoanCase loanCase, @Param("caseId") Long caseId);
  32. @Query("SELECT l FROM LoanCase l WHERE l.id = :caseId and l.isDelete = :isDelete")
  33. LoanCase findLoanCaseById(Long caseId, boolean isDelete);
  34. @Modifying
  35. @Transactional
  36. @Query("update LoanCase set updateTime = ?3 where id = ?1 and isDelete = ?2")
  37. void updateUpdatetimeByIdAndIsDeleted(Long id,boolean isDelete,String updateTime);
  38. @Modifying
  39. @Transactional
  40. @Query("UPDATE LoanCase SET updateTime = ?3, isDelete = ?2 WHERE id = ?1 AND isDelete = ?2")
  41. void logic_delete(Long id, boolean isDelete, String updateTime);
  42. Boolean existsByIdAndIsDelete(Long caseId, boolean isDelete);
  43. }