package com.changhu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.common.db.enums.MiniProgramUserIdentity;
import com.changhu.common.pojo.vo.SelectNodeVo;
import com.changhu.pojo.params.CheckStatusParams;
import com.changhu.pojo.params.UnitDisableOrEnableParams;
import com.changhu.pojo.vo.UnitCheckStatusVo;
import com.changhu.pojo.vo.UnitMiniProgramUserPagerQueryParams;
import com.changhu.pojo.vo.UnitMiniProgramUserPagerVo;
import com.changhu.support.mybatisplus.pojo.params.PageParams;

import java.util.List;

/**
 * @author 20252
 * @createTime 2024/9/2 上午9:49
 * @desc IndexService...
 */
public interface ManagementService {

    /**
     * 获取审核状态
     *
     * @param params 参数
     * @return 结果
     */
    UnitCheckStatusVo getCheckStatus(CheckStatusParams params);

    /**
     * 查询单位下的小程序用户
     *
     * @param queryParams 查询参数
     * @return 结果
     */
    Page<UnitMiniProgramUserPagerVo> miniProgramUserPager(PageParams<UnitMiniProgramUserPagerQueryParams, UnitMiniProgramUserPagerVo> queryParams);

    /**
     * 审核通过小程序用户
     *
     * @param params 参数
     */
    void passMiniProgramUser(UnitDisableOrEnableParams params);

    /**
     * 禁用或启用小程序用户
     *
     * @param params 参数
     */
    void disableOrEnableMiniProgramUser(UnitDisableOrEnableParams params);

    /**
     * 所有保安单位列表
     */
    List<SelectNodeVo<Long>> listSecurityUnit();

    /**
     * 保安单位下的项目经理
     */
    List<SelectNodeVo<Long>> listMinUserByUnitId(Long securityUnitId, MiniProgramUserIdentity identity);
}
