package com.quantgroup.asset.distribution.service.rule;

import com.quantgroup.asset.distribution.model.entity.fund.ChannelFundConfigNew;
import com.quantgroup.asset.distribution.service.rule.vo.IRuleVO;

import java.util.Map;

public interface IRuleService {
	
	/**
	 * 表达式判断
	 * @param expression 表达式
	 * @param data 变量数据
	 * @return 返回true或者false
	 */
	public boolean valid(String expression, Map<String, Object> data);

	/**
	 * limitDetail表达式判断
	 * @param limits
	 * @param data
	 * @return
	 */
	public boolean validNew(ChannelFundConfigNew.Limits limits, Map<String, Object> data);

	/**
	 * 获取IRuleVO规则对象
	 * @param limits
	 * @return
	 */
	public IRuleVO getIRuleVo(ChannelFundConfigNew.Limits limits);
}
