package com.estate.expert.admin.domain.user;
|
|
import com.estate.expert.admin.domain.common.EntityBaseRepository;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.repository.query.Param;
|
|
import java.util.List;
|
|
public interface UserRepository extends EntityBaseRepository<User> {
|
|
|
@Query("select u from User u where (:keyword is null or :keyword = '' or u.name like %:keyword% or u.mobile like %:keyword%) " +
|
"and (:roleId is null or u.roleId = :roleId)" +
|
"and u.deleted = false order by u.updateTime desc")
|
Page<User> findAllByKeyword(@Param("keyword") String keyword,
|
@Param("roleId") Integer roleId,
|
Pageable page);
|
List<User> findAllByStateAndDeleted(UserState state, boolean deleted);
|
|
int countByDeletedIsFalse();
|
|
User findByMobile(String mobile);
|
|
User findByName(String username);
|
|
@Query("select u from User u where u.deleted = false and u.name like %:name%")
|
List<User> findByNameLike(String name);
|
|
@Query("select u from User u where u.deleted = false")
|
List<User> findNoDeleted();
|
|
}
|