package com.xdap.self_development.service;


import com.xdap.api.moudle.department.pojo.entity.XdapDepartments;
import com.xdap.api.moudle.user.pojo.XdapUsers;
import com.xdap.self_development.domain.view.UserInfoView;

import javax.validation.constraints.NotBlank;
import java.util.List;
import java.util.Set;

/**
 * <p>
 * 部门成员关系表 服务类
 * </p>
 *
 * @author Lys111
 * @since 2025-11-19
 */
public interface XdapDeptUsersService {

    //通过部门ID查找部门
    XdapDepartments selectDeptByID(String deptId);
    //通过部门名称查找部门
    XdapDepartments selectDeptByName(String deptName);
    //通过部门名称查找其下所属的人员
    List<XdapUsers> selectUserByName(String deptName);
    //通过人员名称查找人员
    List<XdapUsers> selectUserByPersonName(String personName);
    //查找人员集合中数据该部门的人
    XdapUsers selectUserByUserListAndDeptName(List<XdapUsers> xdapUsersPojos, XdapDepartments dpName);
    //通过人员ID查找人员
    XdapUsers selectUserByID(String userId);
    //通过人工号查找人员
    XdapUsers selectUserByCode(String userCode);

    UserInfoView getUserInfo(@NotBlank(message = "用户不能为空") String userId);
    // 通过用户ID批量查询用户
    List<XdapUsers> selectUserByIds(Set<String> userIds);
}
