package com.changhu.module.management.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.changhu.module.management.pojo.entity.ServiceProject;
import com.changhu.module.management.pojo.queryParams.ServiceProjectPagerQueryParams;
import com.changhu.module.management.pojo.vo.ServiceProjectPagerVo;
import com.changhu.module.miniProgram.pojo.vo.IndexServiceProjectListVo;
import com.changhu.pojo.dto.ServiceProjectDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * service_project (服务项目)  固化类
 * author: luozhun
 * desc 由groovy脚本自动生成
 */
@Mapper
public interface ServiceProjectMapper extends BaseMapper<ServiceProject> {

    /**
     * 分页查询
     *
     * @param page   分页对象
     * @param params 查询参数
     * @return 结果
     */
    Page<ServiceProjectPagerVo> pager(@Param("page") Page<ServiceProjectPagerVo> page,
                                      @Param("params") ServiceProjectPagerQueryParams params);

    /**
     * 获取服务项目
     *
     * @return 服务项目列表
     */
    List<IndexServiceProjectListVo> getServiceProjectList(@Param("policeUnitId") Long policeUnitId,
                                                          @Param("projectManagerMiniProgramUserId") Long projectManagerMiniProgramUserId);

    /**
     * 获取企事业单位下的服务项目
     *
     * @param enterprisesUnitId 企事业单位id
     * @return 服务项目列表
     */
    List<ServiceProjectDTO> getServiceProjectByEnterprisesUnitId(@Param("enterprisesUnitId") Long enterprisesUnitId);
}
