package jnpf.dmsMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import jnpf.dmsEntity.permission.entity.DmsPermissionUsageEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; import java.util.UUID; @Mapper public interface DmsPermissionUsageMapper extends BaseMapper { String COLUMNS = "id, tenant_id, permission_id, user_id, action_code, actual_resource_type, " + "actual_resource_id, operation_id, session_expires_at, used_at"; @Select("SELECT " + COLUMNS + " FROM public.dms_permission_usages " + "WHERE tenant_id = #{tenantId} AND user_id = #{userId} AND operation_id = #{operationId}") DmsPermissionUsageEntity selectByOperation(@Param("tenantId") String tenantId, @Param("userId") String userId, @Param("operationId") UUID operationId); @Select("SELECT " + COLUMNS + " FROM public.dms_permission_usages " + "WHERE tenant_id = #{tenantId} AND permission_id = #{permissionId} " + "ORDER BY used_at DESC, id DESC LIMIT #{limit}") List selectByPermission(@Param("tenantId") String tenantId, @Param("permissionId") UUID permissionId, @Param("limit") int limit); }