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.StrategySplitMatchingDTO;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategySplitPageDTO;
import com.prolog.rdc.tms.model.dto.basicConfigure.StrategySplitViewDTO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategySplitMatchingVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategySplitPageVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategySplitSaveVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategySplitUpdateVO;
import com.prolog.rdc.tms.model.vo.basicConfigure.StrategySplitViewVO;

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

	/**
	 * 分页查询
	 *
	 * @param strategySplitPageVO
	 * @return
	 */
	Page<StrategySplitPageDTO> queryPageData(StrategySplitPageVO strategySplitPageVO);

	/**
	 * 查看
	 *
	 * @param strategySplitViewVO
	 * @return
	 */
	StrategySplitViewDTO viewData(StrategySplitViewVO strategySplitViewVO);

	/**
	 * 删除
	 *
	 * @param ids
	 */
	void removeData(List<Long> ids);

	/**
	 * 新增
	 *
	 * @param strategySplitSaveVO
	 */
	void saveData(StrategySplitSaveVO strategySplitSaveVO);

	/**
	 * 修改
	 *
	 * @param strategySplitUpdateVO
	 */
	void updateData(StrategySplitUpdateVO strategySplitUpdateVO);

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

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

	/**
	 * 匹配
	 *
	 * @param strategySplitMatchingVO
	 * @return
	 */
	List<StrategySplitMatchingDTO> matchingData(StrategySplitMatchingVO strategySplitMatchingVO);
}
