package com.zcloud.primeport.persistence.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jjb.saas.framework.datascope.annotation.DataScope;
import com.jjb.saas.framework.datascope.annotation.DataScopes;
import com.zcloud.primeport.persistence.dataobject.PersonApplyDO;
import com.zcloud.primeport.persistence.dataobject.XgfApplyPersonDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.Map;
import org.apache.ibatis.annotations.Param;

/**
 * web-infrastructure
 *
 * @Author makejava
 * @Date 2026-03-05 11:33:22
 */
@Mapper
@DataScopes({
        @DataScope(method = "listPage", menuPerms = ""),
        @DataScope(method = "xgfPersonPermissionsList", menuPerms = ""),
        @DataScope(method = "xgfPersonnelVehicleManagementList", menuPerms = "")}
)
public interface PersonApplyMapper extends BaseMapper<PersonApplyDO> {

    IPage<PersonApplyDO> listPage(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);

    IPage<PersonApplyDO> xgfPersonPermissionsList(Page<Map<String, Object>> page, @Param("params") Map<String, Object> params, String menuPerms);

    IPage<PersonApplyDO> xgfPersonnelVehicleManagementList(Page<Map<String, Object>> page, Map<String, Object> params, String menuPerms);

    PersonApplyDO xgfPersonPermissionsInfo(Long id);

    PersonApplyDO getInfoByUserId(Long userId);
}

