package com.ylx.massage.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ylx.massage.domain.MaProject;
import com.ylx.massage.domain.dto.MassageAllMerchantsDto;
import com.ylx.massage.domain.vo.MassageAllMerchantsVo;
import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
import com.ylx.project.domain.bookMerchant.vo.BookMerchantVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 服务项目Mapper接口
 *
 * @author ylx
 * @date 2024-03-20
 */
@Mapper
public interface MaProjectMapper extends BaseMapper<MaProject> {
    /**
     * 查询服务项目
     *
     * @param id 服务项目主键
     * @return 服务项目
     */
    public MaProject selectMaProjectById(Long id);

    /**
     * 查询服务项目列表
     *
     * @param maProject 服务项目
     * @return 服务项目集合
     */
    public List<MaProject> selectMaProjectList(MaProject maProject);

    /**
     * 新增服务项目
     *
     * @param maProject 服务项目
     * @return 结果
     */
    public int insertMaProject(MaProject maProject);

    /**
     * 修改服务项目
     *
     * @param maProject 服务项目
     * @return 结果
     */
    public int updateMaProject(MaProject maProject);

    /**
     * 删除服务项目
     *
     * @param id 服务项目主键
     * @return 结果
     */
    public int deleteMaProjectById(Long id);

    /**
     * 批量删除服务项目
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMaProjectByIds(String[] ids);

    /**
     * 首页项目推荐
     *
     * @param page
     * @return
     */
    Page<MassageProjectRecommendVo> getMassageProjectRecommend(@Param("page") Page<MassageProjectRecommendVo> page, @Param("cityCode") String cityCode);

    Page<MassageAllMerchantsVo> getMassageAllMerchants(@Param("page") Page<MassageAllMerchantsVo> page, @Param("dto") MassageAllMerchantsDto dto);

    Page<BookMerchantVO> selectMerchantList(@Param("page") Page<BookMerchantVO> page, @Param("projectId") Long projectId);
}
