package com.ruoyi.web.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.web.domain.dto.government.GovernmentInfoAddRequest;
import com.ruoyi.web.domain.dto.government.GovernmentInfoEditRequest;
import com.ruoyi.web.domain.dto.government.GovernmentInfoQueryRequest;
import com.ruoyi.web.domain.entity.GovernmentInfo;
import com.ruoyi.web.domain.vo.GovernmentInfoVO;


/**
 *
 */
public interface GovernmentInfoService extends IService<GovernmentInfo> {

    Integer addGovernmentInfo(GovernmentInfoAddRequest governmentInfoAddRequest);

    boolean deleteGovernmentInfo(String ids);

    void editGovernmentInfo(GovernmentInfoEditRequest governmentInfoEditRequest);

    /**
     * 发布
     *
     * @param id
     * @return
     */
    boolean publishGovernmentInfo(int id);

    /**
     * 下架
     *
     * @param id
     * @return
     */
    boolean removeGovernmentInfo(int id);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    GovernmentInfoVO getGovernmentInfoById(int id);

    GovernmentInfoVO getGovernmentInfoVO(GovernmentInfo governmentInfo);

    /**
     * 分页获取列表
     *
     * @param governmentInfoQueryRequest
     * @return
     */
    Page<GovernmentInfoVO> getListGovernmentInfoByPage(GovernmentInfoQueryRequest governmentInfoQueryRequest);


    /**
     * 获取查询条件
     *
     * @param governmentInfoQueryRequest
     * @return
     */
    QueryWrapper<GovernmentInfo> getQueryWrapper(GovernmentInfoQueryRequest governmentInfoQueryRequest);

    Page<GovernmentInfoVO> pageFaBu(GovernmentInfoQueryRequest governmentInfoQueryRequest);
}
