// Path: common/src/main/java/net/myscloud/open/yuna/common/framework/mybatis/IGenericMapper.java
// public interface IGenericMapper<E, K extends Serializable> {
// 
//     int insert(E object);
// 
//     int insertBatch(List<E> items);
// 
//     int insertSelective(E object);
// 
//     int insertSelectiveBatch(List<E> items);
// 
//     int delete(K id);
// 
//     int deleteBatch(List<K> ids);
// 
//     int update(E object);
// 
//     int updateBatch(List<E> items);
// 
//     int updateSelective(E object);
// 
//     int updateSelectiveBatch(List<E> items);
// 
//     E get(K id);
// 
//     long count(Object condition);
// 
//     List<E> all();
// 
//     List<E> page(PaginationParam paginationParam);
// }
// 
// Path: domain/src/main/java/net/myscloud/open/yuna/model/Permission.java
// @Data
// @Builder
// @NoArgsConstructor
// @AllArgsConstructor
// @EqualsAndHashCode(callSuper = true)
// public class Permission extends BaseModel {
// 
//     private Integer id;
// 
//     /**
//      * 系统
//      */
//     private Integer sid;
// 
//     /**
//      * Ext 系统名称
//      */
//     private String systemName;
// 
//     /**
//      * Ext 系统编码
//      */
//     private String systemCode;
// 
//     /**
//      * 上级权限ID
//      */
//     private Integer pid;
// 
//     /**
//      * 资源编码  定位中y坐标
//      */
//     private String code;
// 
//     /**
//      * {@link Type}
//      */
//     private Integer type;
// 
//     private String name;
// 
//     private String icon;
// 
//     private String value;
// 
//     private String regular;
// 
//     /**
//      * 等级分值 0为不显示，分值越高越靠前
//      */
//     private Integer rank;
// 
//     @AllArgsConstructor
//     public enum Type {
//         /**
//          * 页面
//          */
//         Page(1),
//         /**
//          * 链接,不直接显示在页面上
//          */
//         Url(2),
//         /**
//          * 按钮
//          */
//         Button(3),
//         /**
//          * 标签
//          */
//         Tag(4);
// 
//         @Getter
//         private int code;
//     }
// 
// }


import net.myscloud.open.yuna.common.framework.mybatis.IGenericMapper;
import net.myscloud.open.yuna.model.Permission;
import java.util.List;
package net.myscloud.open.yuna.mapper;



public interface PermissionMapper extends IGenericMapper<Permission, Integer> {
    /**
     * 根据权限Code获取权限
     *
     * @param code
     * @return
     */
    Permission getByCode(String code);

    /**
     * 根据角色ID获取权限ID
     *
     * @param rid
     * @return
     */
// Path: common/src/main/java/net/myscloud/open/yuna/common/framework/mybatis/IGenericMapper.java
// public interface IGenericMapper<E, K extends Serializable> {
// 
//     int insert(E object);
// 
//     int insertBatch(List<E> items);
// 
//     int insertSelective(E object);
// 
//     int insertSelectiveBatch(List<E> items);
// 
//     int delete(K id);
// 
//     int deleteBatch(List<K> ids);
// 
//     int update(E object);
// 
//     int updateBatch(List<E> items);
// 
//     int updateSelective(E object);
// 
//     int updateSelectiveBatch(List<E> items);
// 
//     E get(K id);
// 
//     long count(Object condition);
// 
//     List<E> all();
// 
//     List<E> page(PaginationParam paginationParam);
// }
// 
// Path: domain/src/main/java/net/myscloud/open/yuna/model/Permission.java
// @Data
// @Builder
// @NoArgsConstructor
// @AllArgsConstructor
// @EqualsAndHashCode(callSuper = true)
// public class Permission extends BaseModel {
// 
//     private Integer id;
// 
//     /**
//      * 系统
//      */
//     private Integer sid;
// 
//     /**
//      * Ext 系统名称
//      */
//     private String systemName;
// 
//     /**
//      * Ext 系统编码
//      */
//     private String systemCode;
// 
//     /**
//      * 上级权限ID
//      */
//     private Integer pid;
// 
//     /**
//      * 资源编码  定位中y坐标
//      */
//     private String code;
// 
//     /**
//      * {@link Type}
//      */
//     private Integer type;
// 
//     private String name;
// 
//     private String icon;
// 
//     private String value;
// 
//     private String regular;
// 
//     /**
//      * 等级分值 0为不显示，分值越高越靠前
//      */
//     private Integer rank;
// 
//     @AllArgsConstructor
//     public enum Type {
//         /**
//          * 页面
//          */
//         Page(1),
//         /**
//          * 链接,不直接显示在页面上
//          */
//         Url(2),
//         /**
//          * 按钮
//          */
//         Button(3),
//         /**
//          * 标签
//          */
//         Tag(4);
// 
//         @Getter
//         private int code;
//     }
// 
// }


// Path: console/src/main/java/net/myscloud/open/yuna/mapper/PermissionMapper.java
import net.myscloud.open.yuna.common.framework.mybatis.IGenericMapper;
import net.myscloud.open.yuna.model.Permission;
import java.util.List;

package net.myscloud.open.yuna.mapper;



public interface PermissionMapper extends IGenericMapper<Permission, Integer> {
    /**
     * 根据权限Code获取权限
     *
     * @param code
     * @return
     */
    Permission getByCode(String code);

    /**
     * 根据角色ID获取权限ID
     *
     * @param rid
     * @return
     */
    List<Integer> getPermissionIdsByRid(Integer rid);