package com.cpop.mall.business.service;

import com.cpop.mall.business.bo.MallRoleBo;
import com.cpop.mall.business.bo.MallRolePageBo;
import com.cpop.mall.business.entity.RoleBrand;
import com.cpop.mall.business.vo.MallRolePageVo;
import com.cpop.system.business.bo.RoleStatusBo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;

/**
 * 商城-角色-品牌id 服务层。
 *
 * @author DB
 * @since 2023-10-19
 */
public interface RoleBrandService extends IService<RoleBrand> {

    /**
     * @descriptions 查询商城角色分页列表
     * @author DB
     * @date 2023/09/10 16:51
     * @param bo 请求参数
     * @return R<PageVo<MallRolePageVo>>
     */
    Page<MallRolePageVo> getMallRolePageList(MallRolePageBo bo);

    /**
     * @descriptions 新增角色
     * @author DB
     * @date 2023/10/12 10:48
     * @param bo 请求参数
     * @return: com.cpop.core.base.R<java.lang.Void>
     */
    void insertMallRole(MallRoleBo bo);

    /**
     * @descriptions 修改角色
     * @author DB
     * @date 2023/09/10 17:45
     * @param bo 请求参数
     * @return com.jambox.core.base.R<java.lang.Void>
     */
    void updateMallRole(MallRoleBo bo);

    /**
     * @Description: 删除商城角色
     * @param id 主键
     * @return
     * @Author DB
     * @Date: 2023/10/19 22:34
     */
    void removeMallRole(String id);

    /**
     * @Description: 设置角色状态
     * @param bo 请求参数
     * @return: R<Void>
     * @Author: DB
     * @Date: 2023/5/9 14:13
     **/
    void setMallRoleStatus(RoleStatusBo bo);
}
