package com.xindazhou.business.service.community.ban;

import com.xindazhou.business.controller.admin.community.ban.vo.BanPageReqVO;
import com.xindazhou.business.controller.admin.community.ban.vo.BanRespVO;
import com.xindazhou.business.controller.admin.community.ban.vo.BanSaveReqVO;
import com.xindazhou.framework.common.pojo.PageResult;

/**
 * 封禁 Service 接口
 *
 * @author xindazhou
 */
public interface BanService {

    /**
     * 创建封禁
     *
     * @param createReqVO 创建信息
     * @return 封禁ID
     */
    Long createBan(BanSaveReqVO createReqVO);

    /**
     * 更新封禁
     *
     * @param updateReqVO 更新信息
     */
    void updateBan(BanSaveReqVO updateReqVO);

    /**
     * 解禁用户
     *
     * @param userId 用户ID
     */
    void unbanUser(Long userId);

    /**
     * 获得封禁
     *
     * @param userId 用户ID
     * @return 封禁
     */
    BanRespVO getBan(Long userId);

    /**
     * 获得封禁分页列表
     *
     * @param pageReqVO 分页查询
     * @return 封禁分页
     */
    PageResult<BanRespVO> getBanPage(BanPageReqVO pageReqVO);

}

