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

import java.util.List;

import com.prolog.framework.core.pojo.Page;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategyTransferMatchingDTO;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategyTransferPageDTO;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategyTransferViewDTO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategyTransferMatchingVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategyTransferPageVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategyTransferSaveVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategyTransferUpdateVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategyTransferViewVO;

/**
 * 策略中心-中转策略服务层
 *
 * @author zhangsj
 * @since 2022/7/16 9:44
 */
public interface StrategyTransferService {

	/**
	 * 分页查询
	 *
	 * @param strategyPageVO
	 * @return
	 */
	Page<StrategyTransferPageDTO> queryPageData(StrategyTransferPageVO strategyPageVO);

	/**
	 * 查看
	 *
	 * @param transferViewVO
	 * @return
	 */
	StrategyTransferViewDTO viewData(StrategyTransferViewVO transferViewVO);

	/**
	 * 新增
	 *
	 * @param strategyTransferSaveVO
	 */
	void saveData(StrategyTransferSaveVO strategyTransferSaveVO);

	/**
	 * 修改
	 *
	 * @param transferUpdateVO
	 */
	void updateData(StrategyTransferUpdateVO transferUpdateVO);

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

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

	/**
	 * 匹配
	 *
	 * @param transferMatchingVO
	 * @return
	 */
	List<StrategyTransferMatchingDTO> matchingData(StrategyTransferMatchingVO transferMatchingVO);
}
