package com.dayou.service;
import com.dayou.bo.SimpleParentModel;
import com.dayou.common.PullDownModel;
import com.dayou.common.SimpleListModel;
import com.dayou.dto.SimplePostModel;
import com.dayou.entity.Post;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dayou.vo.PostVO;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 岗位 服务类
 * </p>
 *
 * @author wucl
 * @since 2022-11-29
 */
public interface IPostService extends IService<Post> {

        Page<PostVO> selectPage(Page page, PostVO post);

        Post detail(Long id);

        Boolean add(Post post);

        Boolean update(Post post);

        Boolean delete(Long id);

        XSSFWorkbook generateImportTemplate();

        void importExcel(MultipartFile file);

        XSSFWorkbook exportExcel(Post post);

        void upsert(Post superAdminPost);

    List<PullDownModel > xSimpleAll();

    List<Post> getPostList(PostVO postVO);

    List<SimpleParentModel> getDepartmentList(Set<Long> postIds);

    Boolean mostHighPost(SimplePostModel post);

}
