package com.ruoyi.business.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.*;
import com.ruoyi.business.domain.ServiceBase;

/**
 * 对外服务基础信息Mapper接口
 * 
 * @author gx
 * @date 2024-02-04
 */
public interface ServiceBaseMapper extends BaseMapper<ServiceBase> {

    /**
     * 查询对外服务基础信息
     * 
     * @param id 对外服务基础信息主键
     * @return 对外服务基础信息
     */
    ServiceBase selectServiceBaseById(Long id);

    /**
     * 查询对外服务基础信息列表
     * 
     * @param serviceBase 对外服务基础信息
     * @return 对外服务基础信息集合
     */
    List<ServiceBase> selectServiceBaseList(ServiceBase serviceBase);

    /**
     * 新增对外服务基础信息
     * 
     * @param serviceBase 对外服务基础信息
     * @return 结果
     */
    int insertServiceBase(ServiceBase serviceBase);

    /**
     * 修改对外服务基础信息
     * 
     * @param serviceBase 对外服务基础信息
     * @return 结果
     */
    int updateServiceBase(ServiceBase serviceBase);

    /**
     * 删除对外服务基础信息
     * 
     * @param id 对外服务基础信息主键
     * @return 结果
     */
    int deleteServiceBaseById(Long id);

    /**
     * 批量删除对外服务基础信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteServiceBaseByIds(Long[] ids);

    /**
     * 批量删除对外服务基础信息（逻辑）
     * @param updateWrapper
     */
     @Update("update b_service_base set ${ew.sqlSet} ${ew.customSqlSegment}")
     int updateByIds(@Param(Constants.WRAPPER) LambdaUpdateWrapper<ServiceBase> updateWrapper);
}
