package com.changhu.module.management.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.module.management.pojo.params.ManagementSecurityUnitUserSaveOrUpdateParams;
import com.changhu.module.management.pojo.queryParams.ManagementSecurityUnitUserPagerQueryParams;
import com.changhu.module.management.pojo.vo.ManagementSecurityUnitUserPagerVo;
import com.changhu.support.mybatisplus.pojo.params.PageParams;

import java.util.List;

/**
 * @author 20252
 * @createTime 2024/9/11 上午10:17
 * @desc SecurityService...
 */
public interface SecurityService {
    /**
     * 新增或修改后台用户
     *
     * @param saveOrUpdateParams 参数
     */
    void userSaveOrUpdate(ManagementSecurityUnitUserSaveOrUpdateParams saveOrUpdateParams);

    /**
     * 分页查询后台用户
     *
     * @param queryParams 分页查询后台用户
     * @return 结果
     */
    Page<ManagementSecurityUnitUserPagerVo> userPager(PageParams<ManagementSecurityUnitUserPagerQueryParams, ManagementSecurityUnitUserPagerVo> queryParams);

    /**
     * 根据id删除后台用户
     *
     * @param managementSecurityUnitUserId 用户id
     */
    void userDeleteById(Long managementSecurityUnitUserId);

    /**
     * 查询单位下的项目经理
     *
     * @return 项目经理
     */
    List<SelectNodeVo<Long>> listProjectManager();
}
