package cn.estsh.i3plus.core.api.iservice.busi;

import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysPosition;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @Description : 岗位服务接口
 * @Reference :
 * @Author : yunhao
 * @Date : 2018-10-19 16:36
 * @Modify :
 **/
public interface ISysPositionService {

    /**
     * 修改数据
     * @param position
     */
    @ApiOperation(value = "更新岗位信息")
    void updateSysPosition(SysPosition position);

    /**
     * 根据Key 删除数据
     * @param id
     */
    @ApiOperation(value = "删除岗位信息",notes = "根据ID 删除岗位信息")
    void deleteSysPositionById(Long id);

    /**
     * 根据id批量删除岗位
     * @param ids id数组
     * @return
     */
    @ApiOperation(value = "删除岗位信息",notes = "根据ID 批量删除岗位信息")
    void deleteSysPositionByIds(Long[] ids);

    /**
     * 新增数据
     * @param position
     * @return
     */
    @ApiOperation(value = "新增岗位信息")
    SysPosition insertSysPosition(SysPosition position);

    /**
     * 查询所有数据
     * @return
     */
    @ApiOperation(value = "新增岗位信息")
    List listSysPosition();

    /**
     * 复杂查询
     * @param position
     * @param pager
     * @return
     */
    @ApiOperation(value = "查询岗位信息",notes = "查询岗位信息 (分页，组合)")
    ListPager<SysPosition> querySysPosition(SysPosition position, Pager pager);

    /**
     * 根据Key 数据
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "查询岗位信息",notes = "根据 ID 查询岗位信息")
    SysPosition getSysPositionById(Long id);

    /**
     * 根据岗位信息进行查找
     * @param position
     * @param pager
     * @return
     */
    @ApiOperation(value = "查询岗位信息",notes = "查询岗位信息 (分页，组合)")
    ListPager findSysPositionByPager(SysPosition position, Pager pager);


}
