package com.usky.system.service;

import com.usky.system.domain.SysPerson;
import com.usky.common.mybatis.core.CrudService;

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

/**
 * <p>
 * 人员信息 服务类
 * </p>
 *
 * @author JCB
 * @since 2022-08-22
 */
public interface SysPersonService extends CrudService<SysPerson> {

    /**
     * 根据登录用户查询所关联人员
     * @return
     */
    SysPerson getsysPerson(Long userid);

    /**
     * 根据 userId 从 sys_user / 部门 / 岗位 填充人员的 dept、post 展示字段；userId 为空或查无用户时置为 null。
     */
    void fillDeptAndPostFromUser(SysPerson person, Long userId);

    /**
     * 批量填充列表中人员的部门、岗位（personId -> userId 由调用方传入）。
     */
    void fillDeptAndPostForList(List<SysPerson> list, Map<Integer, Long> personIdToUserId);
}
