package com.xiaoniu.system.platformsettings.rule.mapper;

import com.xiaoniu.system.platformsettings.rule.domain.TbRule;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 平台规则Mapper接口
 *
 * @author Wzp
 * @date 2024-03-12
 */
public interface TbRuleMapper {
    /**
     * 查询平台规则
     *
     * @param ruleId 平台规则主键
     * @return 平台规则
     */
    public TbRule selectTbRuleByRuleId(Long ruleId);

    /**
     * 查询平台规则列表
     *
     * @param tbRule 平台规则
     * @return 平台规则集合
     */
    public List<TbRule> selectTbRuleList(TbRule tbRule);

    /**
     * 新增平台规则
     *
     * @param tbRule 平台规则
     * @return 结果
     */
    public int insertTbRule(TbRule tbRule);

    /**
     * 修改平台规则
     *
     * @param tbRule 平台规则
     * @return 结果
     */
    public int updateTbRule(TbRule tbRule);

    /**
     * 删除平台规则
     *
     * @param ruleId 平台规则主键
     * @return 结果
     */
    public int deleteTbRuleByRuleId(@Param("ruleId") Long ruleId, @Param("deleteBy") String deleteBy);

    /**
     * 批量删除平台规则
     *
     * @param ruleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbRuleByRuleIds(@Param("ruleIds") Long[] ruleIds, @Param("deleteBy") String deleteBy);

    /**
     * 查询平台规则
     *
     * @param ruleType 类型
     * @return 平台规则
     */
    public TbRule selectRuleByRuleType(String ruleType);

}
