package com.ytpm.middle.dao;

import com.ytpm.middle.model.YtMiddleDept;
import com.ytpm.middle.param.MiddleDeptListParam;
import com.ytpm.middle.view.DropDownVO;
import com.ytpm.middle.view.MiddleDeptVO;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

@Mapper
public interface MiddleDeptMapper {
    /**
     * 部门信息列表
     */
    List<MiddleDeptVO> queryList(MiddleDeptListParam param);
    /**
     * 获取部门下拉列表
     */
    List<DropDownVO> getAllDeptList();

    /**
     * 根据部门名称查询部门信息
     */
    YtMiddleDept selectByName(@Param("deptName") String deptName);

    /**
     * 主键查询
     */
    YtMiddleDept selectPrimary(@Param("deptId") Integer deptId);

    /**
     * 新增部门信息
     */
    void insertOne(YtMiddleDept dept);

    /**
     * 主键修改
     */
    void updateById(YtMiddleDept dept);

    /**
     * 根据父级部门ID查询部门信息
     */
    List<YtMiddleDept> selectByParentId(Integer parentId);

    /**
     * 批量修改部门信息
     */
    void updateChildren(@Param("deptId") Integer deptId,@Param("operatorId")String operatorId);
}
