package cn.component.rule;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import org.apache.commons.lang3.RandomUtils;

import cn.facade.abs.IFillRuleHandler;
import cn.util.core.IsKit;
import cn.util.core.TypeKit;

/**
 * ATV编号生成规则
 * formData: 页面传来的编码
 */
public class SnRule implements IFillRuleHandler 
{
	@Override
	public String execute(Map<String,Object> params, String name) 
	{
		String prefix = "ATV";
		//订单前缀默认为CN 如果规则参数不为空，则取自定义前缀
		if (IsKit.isNotNullOrEmpty(params)) {
			prefix = TypeKit.objToStr(params.get("prefix"));
		}
		SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
		int random = RandomUtils.nextInt(90, 99) + 10;
		String value = prefix + format.format(new Date()) + random;
		// 根据formData的值的不同，生成不同的订单号
		if (IsKit.isNotNullOrEmpty(name)) {
			value += name;
		}
		return value;
	}

}
