package com.liang.service;

import com.liang.entity.PrjSubtopic;
import com.liang.entity.SysUserPost;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;
import java.util.Map;

/**
 * (SysUserPost)表服务接口
 *
 * @author makejava
 * @since 2023-03-01 19:44:19
 */
public interface SysUserPostService {

    /**
     * 通过ID查询单条数据
     *
     * @param userId 主键
     * @return 实例对象
     */
    SysUserPost queryById(Integer userId);

    /**
     * 分页查询
     *
     * @param sysUserPost 筛选条件
     * @param pageRequest 分页对象
     * @return 查询结果
     */
    Page<SysUserPost> queryByPage(SysUserPost sysUserPost, PageRequest pageRequest);

    /**
     * 新增数据
     *
     * @param sysUserPost 实例对象
     * @return 实例对象
     */
    SysUserPost insert(SysUserPost sysUserPost);

    /**
     * 修改数据
     *
     * @param sysUserPost 实例对象
     * @return 实例对象
     */
    SysUserPost update(SysUserPost sysUserPost);

    /**
     * 通过主键删除数据
     *
     * @param userId 主键
     * @return 是否成功
     */
    boolean deleteById(Integer userId);

    /**
     * 根据userId获取用户岗位信息
     *
     * @param userId
     * @return
     */
    Map<String, Object> listPostByUserId(Integer userId);

    /**
     * 用户岗位信息绑定
     *
     * @param userId
     * @param postStrs
     * @return
     */
    int userPostBind(Integer userId, String postStrs);

    /**
     * 获取岗位用户列表
     *
     * @return
     */
    List<SysUserPost> getPostUserList(Map<String, String> paraMap);

    /**
     * 获取用户岗位列表
     *
     * @return
     */
    List<SysUserPost> getUserPostList(Map<String, String> paraMap);

    List<SysUserPost> getPostId(Integer sysUserId);
}
