package com.zxdmy.excite.system.service.cloud.account;

import com.zxdmy.excite.common.entity.PageList;
import com.zxdmy.excite.system.entity.cloud.account.CloudDepartment;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxdmy.excite.system.entity.dto.DepartmentUserTreeNode;
import com.zxdmy.excite.system.entity.req.account.ReqDepartment;
import com.zxdmy.excite.system.entity.vo.account.DepartmentVo;

import java.util.List;

/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author ss
 * @since 2026-01-24
 */
public interface ICloudDepartmentService extends IService<CloudDepartment> {

    PageList<DepartmentVo> queryByPage(Integer current, Integer size, ReqDepartment data);
    DepartmentVo getByData(ReqDepartment data);
    int saveData(ReqDepartment data);
    int updateData(ReqDepartment data);
    int deleteById(String id);
    List<CloudDepartment> getList(Long id);
    int changeDepartment(String userId, String departmentId);

    public List<DepartmentUserTreeNode> buildDepartmentUserTree(Long companyId);
}
