package com.prolog.rdc.tms.service.basicConfigure;

import com.prolog.framework.core.pojo.Page;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategyBusinessMatchingDTO;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategyBusinessPageDTO;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategyBusinessViewDTO;
import com.prolog.rdc.tms.model.vo.basicConfigure.*;

import java.util.List;

/**
 * 策略中心-业务规则策略服务层
 *
 * @author zhangsj
 * @since 2022/7/16 9:44
 */
public interface StrategyBusinessService {

	/**
	 * 分页查询
	 *
	 * @param strategyBusinessPageVO
	 * @return
	 */
	Page<StrategyBusinessPageDTO> queryPageData(StrategyBusinessPageVO strategyBusinessPageVO);

	/**
	 * 查看
	 *
	 * @param strategyBusinessViewVO
	 * @return
	 */
	StrategyBusinessViewDTO viewData(StrategyBusinessViewVO strategyBusinessViewVO);

	/**
	 * 新增
	 *
	 * @param strategyBusinessSaveVO
	 */
	void saveData(StrategyBusinessSaveVO strategyBusinessSaveVO);

	/**
	 * 修改
	 *
	 * @param strategyBusinessUpdateVO
	 */
	void updateData(StrategyBusinessUpdateVO strategyBusinessUpdateVO);

	/**
	 * 停用
	 *
	 * @param ids
	 */
	void disableData(List<Long> ids);

	/**
	 * 启用
	 *
	 * @param ids
	 */
	void activeData(List<Long> ids);

	/**
	 * 匹配
	 *
	 * @param businessMatchingVO
	 * @return
	 */
	List<StrategyBusinessMatchingDTO> matchingData(StrategyBusinessMatchingVO businessMatchingVO);
}
