package cn.iocoder.yudao.module.portal.service.newstype;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.portal.controller.admin.newstype.vo.*;
import cn.iocoder.yudao.module.portal.dal.dataobject.newstype.NewsTypeDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam;

/**
 * 新闻类型 Service 接口
 *
 * @author 篮智科技
 */
public interface NewsTypeService {

    /**
     * 创建新闻类型
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createNewsType(@Valid NewsTypeSaveReqVO createReqVO);

    /**
     * 更新新闻类型
     *
     * @param updateReqVO 更新信息
     */
    void updateNewsType(@Valid NewsTypeSaveReqVO updateReqVO);

    /**
     * 删除新闻类型
     *
     * @param id 编号
     */
    void deleteNewsType(Long id);

    /**
     * 获得新闻类型
     *
     * @param id 编号
     * @return 新闻类型
     */
    NewsTypeDO getNewsType(Long id);

    /**
     * 获得新闻类型分页
     *
     * @param pageReqVO 分页查询
     * @return 新闻类型分页
     */
    PageResult<NewsTypeDO> getNewsTypePage(NewsTypePageReqVO pageReqVO);

}