/*获取唯一订单号*/
function order_number($order_header){
global $redis;
if(trim_all($order_header)!=""){
$order_header=trim_all($order_header)."-";
}
$time=time();
$microtime_arr=explode(".",microtime(true));
$order_microtime=str_pad($microtime_arr[1],4,"0",STR_PAD_LEFT);
$order_date=date("ymdHis",$time);
$order_redis_num=rand(0,9999);
if(REDIS_STATE==1){//如果redis服务器正常开启,则获取redis自增值,最大限度降低订单号重复概率
$order_redis_num=$redis->incr("order_redis_num:".$order_date.$order_microtime);
$redis->setTimeout("order_redis_num:".$order_date.$order_microtime, 2); //设置两秒后自动过期,释放内存
}
$order_redis_num=str_pad($order_redis_num,4,"0",STR_PAD_LEFT);//支持每毫秒9999次访问,解决重复访问,可根据redis访问情况再增大
$order_rand=rand(10,99);
$order_number=$order_header.$order_date.$order_microtime.$order_redis_num.$order_rand;
return strtoupper($order_number);
}