<?php

function route_class()
{
	return str_replace('.', '-', Route::currentRouteName());
}

function ngrok_url($routeName, $parameters = [])
{
	// 开发环境，并且配置了 NGROK_URL
	if(app()->environment('local') && $url = config('app.ngrok_url')) {
		// route() 函数第三个参数代表是否绝对路径
		return $url.route($routeName, $parameters, false);
	}
	
	return route($routeName, $parameters);
}

// 默认的精度为小数点后两位
function big_number($number, $scale = 2)
{
	return new \Moontoast\Math\BigNumber($number, $scale);
}

function getDateTime()
{
	return date('Y-m-d H:i:s', time());
}

function getDateTimeNoHours()
{
	return date('Y-m-d', time());
}

function getYesterdayDateNoHours()
{
	return date("Y-m-d", strtotime("-1 day"));
}

function curlJavaB2cApi($functionName, $body, $token = '',$terminal=1)
{
	$data['header']['time_stamp'] = getMillisecond();
	$data['header']['transaction_type'] = $functionName;
	$data['header']['message_id'] = date("YmdHis", time());
	$data['header']['terminal'] = $terminal;
	
	$data['body'] = $body;
	if ($token != '')
		$data['header']['token'] = $token;
		$json = json_encode($data);
		$base64 = base64_encode($json);
		$url = env('IS_BAIDUYUN')?'http://192.168.98.215:8081/leyou-gateway-services':config('app.b2c_api_url');
		//  $url = 'http://192.168.98.215:8081/leyou-gateway-services';
		
		$function = "/$functionName/";
		$finalStr = $url . $function . $base64;
		
		\Log::info($finalStr);
		$response = Curl::to($finalStr)->get();
		
		return $response;
}
function curlJavaB2cJsonApi($functionName, $body, $token = '',$terminal=1)
{
	$data['header']['time_stamp'] = getMillisecond();
	$data['header']['transaction_type'] = $functionName;
	$data['header']['message_id'] = date("YmdHis", time());
	$data['header']['terminal'] = $terminal;
	
	if ($token != ''){
		$data['header']['token'] = $token;
	}
	if(isset($body['city_id'])){
		$data['header']['city_id'] = $body['city_id'];
		unset($body['city_id']);
	}
	
	$data['body'] = $body;
	
	$json = json_encode($data);
	
	$base64 = base64_encode($json);
	$url = env('LEYOU_API');

	$function = "/$functionName";
	$finalStr = $url . $function . "?json=" . $base64;
	$response = Curl::to($finalStr)->get();
	
	return $response;
}
function getMillisecond()
{
	$time = explode(" ", microtime());
	$time = $time[1] . ($time[0] * 1000);
	$time2 = explode(".", $time);
	$time = $time2[0];
	return (int) $time;
}

function getUrlParams($url)
{
	$arr = parse_url($url);
	$queryParts = explode('&', $arr['query']);
	$params = array();
	foreach ($queryParts as $param) {
		$item = explode('=', $param);
		$params[$item[0]] = $item[1];
	}
	return $params;
}
function getProductId(){
	return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
}
