package com.prolog.cs.biz.inbound.service.impl.processor.handler;

import com.prolog.cs.biz.inbound.service.impl.processor.enums.ConclusionEnum;
import com.prolog.cs.biz.inbound.service.impl.processor.enums.RcvTypeStrategyEnum;
import com.prolog.cs.biz.inbound.service.impl.processor.enums.RqcStrategyEnum;
import com.prolog.cs.biz.inbound.service.impl.processor.enums.SubjectStrategyEnum;

import java.util.Map;

/**
 * 任务执行器接口
 * 
 * @author Xiong
 *
 */
public interface TaskHandler {

	/**
	 * 执行具体逻辑
	 * 
	 * @param subjectStrategy
	 * @param rcvType
	 * @param rqcStrategy
	 * @param isAuto 
	 * @param dataMapList
	 * @return
	 */
	Object excute(SubjectStrategyEnum subjectStrategy, RcvTypeStrategyEnum rcvType, RqcStrategyEnum rqcStrategy,
			Map<String, Object> dataMap, ConclusionEnum conclusionEnum, boolean isAuto);
	
	public Object rfExcute(SubjectStrategyEnum subjectStrategy, RcvTypeStrategyEnum rcvType, RqcStrategyEnum rqcStrategy,
			Map<String, Object> dataMap, ConclusionEnum conclusionEnum, boolean isAuto) ;

}
