CustomerRepository.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.loan.system.repository;
  2. import com.loan.system.domain.dto.CustomerDTO;
  3. import com.loan.system.domain.entity.Customer;
  4. import com.loan.system.domain.entity.User;
  5. import org.springframework.data.domain.Page;
  6. import org.springframework.data.domain.Pageable;
  7. import org.springframework.data.jpa.repository.JpaRepository;
  8. import org.springframework.data.jpa.repository.Modifying;
  9. import org.springframework.data.jpa.repository.Query;
  10. import javax.transaction.Transactional;
  11. import java.util.List;
  12. /**
  13. * @author EdwinXu
  14. * @date 2020/9/2 - 15:35
  15. * @Description
  16. */
  17. public interface CustomerRepository extends JpaRepository<Customer,Long> {
  18. boolean existsByMobileAndIsDelete(String mobile,Boolean isDelete);
  19. @Query("select c from Customer c where c.mobile = ?1 and c.isDelete = ?2")
  20. Customer findByMobile(String mobile,Boolean isDelete);
  21. Page<Customer> findByIsDelete(Boolean isDelete, Pageable pageable);
  22. Customer findByIdAndIsDelete(Long id, Boolean isDelete);
  23. @Query("select c from Customer c where (c.mobile like ?1 or c.name like ?1) and c.isDelete = ?2")
  24. Page<Customer> findByKey(String key, boolean isDelete, Pageable pageable);
  25. @Transactional
  26. @Modifying
  27. @Query("update Customer c set c.marriedStatus = ?2 ,c.isIllegal = ?3 where c.id = ?1")
  28. void updateMarriedStatusAndIsIllegalById(Long customerId, String marriedStatus,Boolean isIllegal);
  29. @Query("select co from Customer co where co.id = ?1 and co.isDelete = ?2")
  30. Customer findByCustomerId(Long customerId , Boolean isDelete);
  31. boolean existsByIdAndIsDelete(Long customerId, boolean isDelete);
  32. @Query("select co from Customer co where (co.mobile like ?1 or co.name like ?1) and co.isDelete = ?2")
  33. List<Customer> findAllByKey(String key, boolean isDelete);
  34. @Transactional
  35. @Modifying
  36. @Query("update Customer c set c.isDelete = 1 where c.mobile = ?1 and c.name = ?2")
  37. void deleteByMobileAndName(String mobile, String name);
  38. @Transactional
  39. @Modifying
  40. @Query(value = "UPDATE Customer c SET " +
  41. "c.name = COALESCE(:#{#customerDTO.name}, c.name), " +
  42. "c.sex = COALESCE(:#{#customerDTO.sex}, c.sex), " +
  43. "c.idNumber = COALESCE(:#{#customerDTO.idNumber}, c.idNumber), " +
  44. "c.bankAccount = COALESCE(:#{#customerDTO.bankAccount}, c.bankAccount), " +
  45. "c.bankName = COALESCE(:#{#customerDTO.bankName}, c.bankName) " +
  46. "WHERE c.openid = :#{#customerDTO.openid} AND c.isDelete = :isDelete")
  47. void updateInfoByOpenIdAndIsDelete(CustomerDTO customerDTO, boolean isDelete);
  48. @Transactional
  49. @Modifying
  50. @Query("update Customer c set c.isDelete = 1 where c.id = ?1")
  51. void deleteByLogic(Long id);
  52. @Query("select c from Customer c where c.openid = ?1")
  53. Customer findByOpenId(String openId);
  54. }