package com.ruoyi.system.service;


import com.ruoyi.system.domain.member.MemberInfo;
import com.ruoyi.system.domain.member.MemberInfoTree;
import com.ruoyi.system.domain.vo.MemberInfoVo;

import java.util.List;

/**
 * 委员信息Service接口
 * 
 * @author boman
 * @date 2024-03-07
 */
public interface IMemberInfoService 
{
    /**
     * 查询委员信息
     * 
     * @param memberId 委员信息主键
     * @return 委员信息
     */
    public MemberInfo selectMemberInfoByMemberId(Long memberId);

    /**
     * 获取委员履职信息详细信息
     */
    public MemberInfoVo getInfoJop(MemberInfo memberInfo);
    /**
     * 获取委员履职年度报告
     */
    public MemberInfoVo getMemberReport(MemberInfo memberInfo);

    /**
     * 查询委员信息列表
     * 
     * @param memberInfo 委员信息
     * @return 委员信息集合
     */
    public List<MemberInfo> selectMemberInfoList(MemberInfo memberInfo);
    /**
     * 获取委员菜单下拉树列表
     */
    public List<MemberInfoTree> buildMemberInfoTreeSelect(List<MemberInfo> memberInfo);

    /**
     * 新增委员信息
     * 
     * @param memberInfo 委员信息
     * @return 结果
     */
    public int insertMemberInfo(MemberInfo memberInfo);

    /**
     * 修改委员信息
     * 
     * @param memberInfo 委员信息
     * @return 结果
     */
    public int updateMemberInfo(MemberInfo memberInfo);

    /**
     * 批量删除委员信息
     * 
     * @param memberIds 需要删除的委员信息主键集合
     * @return 结果
     */
    public int deleteMemberInfoByMemberIds(Long[] memberIds);

    /**
     * 删除委员信息信息
     * 
     * @param memberId 委员信息主键
     * @return 结果
     */
    public int deleteMemberInfoByMemberId(Long memberId);
}
