/**
* 获取违章支持的城市列表
* @return array
*/
function wzCity($province=false){
$config = get_config('juhe'); //读取配置
$postArr = array (
'key' => $config['wz_appkey'],
'province' => $province,
'format' => 1
);
$result = curlPost($config['wz_citys_url'], $postArr);
writeLogFile('juhe', 'wzCity:'.$result); //写日志
$jsonArr = json_decode($result, true);
return $jsonArr;
}
/**
* 查询车辆违章(聚合数据v1.0)
* @param array $info 查询信息:engineno和classno根据城市代码填写
* @param int $query_from 终端:1-平台端 2-门店端
* @param string $op_user 操作者
* @param boolean $log 是否记录查询日志
* @return array 违章信息
*/
function wzQuery($info, $query_from, $op_user, $log=true){
$config = get_config('juhe'); //读取配置
$postArr = array (
'key' => $config['wz_appkey'],
'city' => $info['city'], //城市代码
'hphm' => $info['plate_number'], //车牌
'engineno' => $info['engineno'], //发动机号
'classno' => $info['classno'], //车架号
);
$result = curlPost($config['wz_query_url'], $postArr);
writeLogFile('juhe', 'wzQuery:'.$result); //写日志
$jsonArr = json_decode($result, true);
/* 查询记录 */
if($log)
{
$wzQuery = M("wz_query");
if($jsonArr['resultcode'] == 200){
if($jsonArr['result']['lists']){
foreach($jsonArr['result']['lists'] as $key =>$w){
$data['plate_number'] = $info['plate_number']; //车牌
$data['area'] = $w['area']; //违章地点
$data['act'] = $w['act']; //违章行为
$data['wz_time'] = strtotime($w['date']); //违章时间
$data['money'] = $w['money']; //违章罚款
$data['score'] = $w['fen']; //违章扣分
$data['handled'] = $w['handled']; //是否处理:0-未处理 1-已处理 空-未知
$data['add_time'] = time(); //查询时间
$data['query_from'] = $query_from;
$data['op_user'] = $op_user;
$data['result_code'] = '200';
$data['result_msg'] = 'success';
$wzQuery->add($data);
unset($data);
}
}else{
$data['plate_number'] = $info['plate_number'];
$data['add_time'] = time();
$data['query_from'] = $query_from;
$data['op_user'] = $op_user;
$data['result_code'] = '200';
$data['result_msg'] = 'success';
$wzQuery->add($data);
}
}else{
$data['plate_number'] = $info['plate_number'];
$data['add_time'] = time();
$data['query_from'] = $query_from;
$data['op_user'] = $op_user;
$data['result_code'] = $jsonArr['resultcode'];
$data['result_msg'] = $jsonArr['reason'];
$wzQuery->add($data);
}
}
return $jsonArr;
}
/**
* 违章接口剩余请求次数查询
* @return array
*/
function wzBalance(){
$config = get_config('juhe'); //读取配置
$postArr = array (
'key' => $config['wz_appkey']
);
$result = curlPost($config['wz_status_url'], $postArr);
writeLogFile('juhe', 'wzBalance:'.$result); //写日志
$jsonArr = json_decode($result, true);
return $jsonArr;
}
/**
* 通过CURL发送HTTP请求
* @param string $url //请求URL
* @param array $postFields //请求参数
* @return mixed
*/
function curlPost($url,$postFields){
$postFields = http_build_query($postFields);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postFields );
$result = curl_exec ( $ch );
curl_close ( $ch );
return $result;
}