package com.cpop.system.business.service;

import com.cpop.system.business.bo.RoleBo;
import com.cpop.system.business.bo.RolePageBo;
import com.cpop.system.business.bo.RoleStatusBo;
import com.cpop.system.business.vo.RolePageVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.cpop.system.business.entity.Role;

/**
 * 系统角色表 服务层。
 *
 * @author DB
 * @since 2023-10-19
 */
public interface RoleService extends IService<Role> {

    /**
     * @descriptions
     * @author DB
     * @date 2023/10/19 17:13
     * @param bo 请求参数
     * @return: com.mybatisflex.core.paginate.Page<com.cpop.system.business.vo.RolePageVo>
     */
    Page<RolePageVo> getSysRolePageList(RolePageBo bo);

    /**
     * @descriptions
     * @author DB
     * @date 2023/10/19 17:13
     * @param bo 请求参数
     * @return: void
     */
    void insertSysRole(RoleBo bo);

    /**
     * @descriptions
     * @author DB
     * @date 2023/10/19 17:14
     * @param bo 请求参数
     * @return: void
     */
    void updateSysRole(RoleBo bo);

    /**
     * @descriptions
     * @author DB
     * @date 2023/10/19 17:14
     * @param id 主键
     * @return: void
     */
    void removeSysRole(String id);

    /**
     * @descriptions
     * @author DB
     * @date 2023/10/19 17:14
     * @param bo 请求参数
     * @return: void
     */
    void setSysRoleStatus(RoleStatusBo bo);

}
