PermissonMapper.java 883 Bytes
package com.uccc.admin.mapper;

import com.uccc.admin.domain.Permission;
import com.uccc.admin.domain.Role;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * Created by bert on 2021-09-13 14:56
 */
public interface PermissonMapper {

    static final String PERMISSION_TABLE_NAME = "permissions";


    @Select({
        "<script>",
            "select DISTINCT on(rp.permission_id,p.cts) p.id,p.name,p.sub_class, p.parent_id, p.path,p.status,p.cts from users u ",
            "JOIN user_role ur ON u.id = ur.user_id ",
            "JOIN role_permission rp ON ur.role_id = rp.role_id ",
            "JOIN permissions p ON rp.permission_id = p.id where u.id = #{id} and p.status = 1",
            "order by p.cts ASC",
        "</script>"
    })
    List<Permission> selectUserPermission(@Param("id") Long id);
}