diff --git a/src/main/java/com/yunhai/userbase/repository/SysUserGroupRelRepository.java b/src/main/java/com/yunhai/userbase/repository/SysUserGroupRelRepository.java index 0a53aff..ceff7c7 100644 --- a/src/main/java/com/yunhai/userbase/repository/SysUserGroupRelRepository.java +++ b/src/main/java/com/yunhai/userbase/repository/SysUserGroupRelRepository.java @@ -3,6 +3,8 @@ package com.yunhai.userbase.repository; import com.yunhai.userbase.entity.SysUserGroupRel; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import java.util.List; import java.util.Optional; @@ -24,6 +26,15 @@ public interface SysUserGroupRelRepository extends JpaRepository findByUserIdInAndGroupId(List userIds, Integer groupId); + /** + * 取「用户在指定组范围内」的最小 sort_no(按 userId 聚合),用于列表 Vo 携带排序号。
+ * 与列表排序(组内最小 sort_no)保持一致;组范围内无记录则返回空。 + */ + @Query("SELECT r.userId, MIN(r.sortNo) FROM SysUserGroupRel r " + + "WHERE r.userId IN :userIds AND r.groupId IN :groupIds GROUP BY r.userId") + List findMinSortNoByUserIdInAndGroupIdIn(@Param("userIds") List userIds, + @Param("groupIds") List groupIds); + Optional findByUserIdAndGroupId(Integer userId, Integer groupId); List findByGroupId(Integer groupId);