<?php
class itemAction
{

	/**
	*
	*/
	function search()
	{
		$Params = mvc::$URL_PARAMS;
		//判断是否只有关键词查询
		if(count($Params)==2 && !empty($Params['keyword']) && $Params['type'] == 'item')
		{
			if(!in_array('search_word',mvc::$cfg['permissionArr'])){
				if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
					$OthCheck = new OthCheck();
					$OthCheck->mustLogin('super');
				}
				LibTpl::Error('非常抱歉，您无权限访问此页面！');
			}
		}
		//判断是否是号码查询
		if(count($Params)==2 && !empty($Params['keyword']) && $Params['type'] == 'number'){
			if(!in_array('search_number',mvc::$cfg['permissionArr'])){
				if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
					$OthCheck = new OthCheck();
					$OthCheck->mustLogin('super');
				}
				LibTpl::Error('非常抱歉，您无权限访问此页面！');
			}
		}
		//车架号查询跳转
		if($Params['type'] == 'vin')
		{
			LibFc::Go(str_ireplace('item/search?', 'item/searchVin?', LibFc::nowUrl()));
		}
		else if($Params['type'] == 'engine')
		{
			LibFc::Go(str_ireplace('item/search?', 'item/searchEngine?', LibFc::nowUrl()));
		}
		else if($Params['type'] == 'model' && $Params['level'] != 'item')
		{
			if(!empty($Params['keyword']))
			{
				LibFc::Go(str_ireplace('item/search?', 'item/models?', LibFc::nowUrl()));
			}
			else
			{
				LibFc::Go(str_ireplace('item/search?', 'item/searchModel?', LibFc::nowUrl()));
			}
		}
        if(!empty($Params['mod3_id']))
        {
            $ComModel = new ComModel();
            $res = $ComModel->getModel(3, ['make_name', 'mod2_name', 'bc_model3.*'], sprintf(" and mod3_id = %d", (int) $Params['mod3_id']), true);
            $model = $brandIcon = '';
            if(!empty($res['data'])){
                $brandMake = $res['data']['make_show_brand'] && $res['data']['make_show_brand'] == 1 ? $res['data']['brand_name'] .' ' : $res['data']['make_name'].' ';
                $model = $brandMake.$res['data']['mod2_name'].' '.$res['data']['mod3_name'].' '.LibFc::formatViewYear($res['data']['mod3_start_year'], $res['data']['mod3_end_year'], 2, 0);
			}
			
            LibTpl::Set('model',$model);
        }
		if(!empty($Params['brand_id'])){
			$ComModel = new ComModel();
			$brandRes = $ComModel->get('bc_brand',['brand_name,brand_code'],sprintf(" AND brand_id = %d",LibFc::Int($Params['brand_id'])),true);
			$brandIcon = mvc::$cfg['HOST']['b2c'].'static/images/chebiao/'.$brandRes['data']['brand_code'].'.png';
			LibTpl::Set('brandIcon',$brandIcon);
		}
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '配件列表');
		LibTpl::Put();
	}

	//发动机车型
	function searchEngine()
	{
		$Params = mvc::$URL_PARAMS;
		if(!in_array('search_engine',mvc::$cfg['permissionArr'])){
			if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
				$OthCheck = new OthCheck();
				$OthCheck->mustLogin('super');
			}
			LibTpl::Error('非常抱歉，您无权限访问此页面！');
		}
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '发动机查询');
		LibTpl::Put('item/searchEngine.php');
	}

	//车型搜索
	function searchModel()
	{
		$Params = mvc::$URL_PARAMS;
		if(!in_array('search_model',mvc::$cfg['permissionArr'])){
			if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
				$OthCheck = new OthCheck();
				$OthCheck->mustLogin('super');
			}
			LibTpl::Error('非常抱歉，您无权限访问此页面！');
		}
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '车型查询');
		LibTpl::Put('item/searchModel.php');
	}

	//vin 解码
	function searchVin()
	{
		if(!in_array('search_vin',mvc::$cfg['permissionArr'])){
			if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
				$OthCheck = new OthCheck();
				$OthCheck->mustLogin('super');
			}
			LibTpl::Error('非常抱歉，您无权限访问此页面！');
		}
		$Params = mvc::$URL_PARAMS;
		$OthWxJs = new OthWxJs();
		$res = $OthWxJs->getSign();
		LibTpl::Set('signPackage', $res['data']);
		$hasImg = false;
		$vin = !isset($Params['keyword']) ? '': LibFc::FormatVin($Params['keyword']);
		LibTpl::Set('vin', $vin);
		$modelArr = [];
		if(strlen($vin) >= 17)
		{
			$vin = substr($vin, 0, 17);
			$needCaptcha = false;
			if(empty($_SESSION['vin'])) $_SESSION['vin'] = [];
			if(empty($_SESSION['vin'][$vin]))
			{
				$LibYpApi = new LibYpApi();
				$capres = $LibYpApi->get('super/checkVinCaptcha', ['uid'=>$_SESSION['_userid'], 'shopid'=>mvc::$cfg['SHOPID'], 'ip'=>LibFc::GetClientIp()]);
				$needCaptcha = $capres['data']['need'];
			}
			if($needCaptcha)
			{//未登录，出验证码
				$captokenOk = false;
				if(!empty($Params['captoken']))
				{
					$OthCheckcode = new OthCheckcode();
					$res = $OthCheckcode->checkDingxiangCaptcha($Params['captoken']);
					$captokenOk = $res['data'];
				}
				if(!$captokenOk){
					LibTpl::Set('Params', $Params);
					LibTpl::Put('index/captcha.php');
					exit;
				}else{
					$LibYpApi = new LibYpApi();
					$LibYpApi->get('super/addCaptchaLog', ['from'=>'super', 'uid'=>$_SESSION['_userid'], 'shopid'=>mvc::$cfg['SHOPID'], 'ip'=>LibFc::GetClientIp(), 'remark'=>$Params['captoken']]);
				}
			}
			$_SESSION['vin'][$vin] = 1;

			$LibPjlApi = new LibPjlApi();
			$getArr =[
				'shopid'=>mvc::$cfg['SHOPID'],
				'vin'=>$vin
			];
			$result = $LibPjlApi->get('data/decodeVin', $getArr, []);
			$modArr = $result['data'];
			$hasImg = false;
			if(!empty($modArr['model'])){
				foreach($modArr['model'] as $k=>&$v){
					$v['nextUrl'] = mvc::$cfg['SELF_URI'].'item/search?mod3_id='.$v['mod3_id'].'&name='.($v['make_show_brand']?$v['brand_name']:$v['make_name']).' '.$v['mod2_name'].' '.$v['mod3_name'].' '.$v['vin_year'];
					if($v['vin_year']){
						$v['nextUrl'] .='&vinyear='.$v['vin_year']; 
					}
					if(!empty($v['pic'])) $hasImg = true;
				}
				unset($v);
			}
			LibTpl::Set('modArr', $modArr);
			LibTpl::Set('hasImg', $hasImg);
		}
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '车架号解码');
		LibTpl::Put('item/searchVin.php');
	}

	function ajaxGetSearchSort()
    {
        $Params = mvc::$URL_PARAMS;
        switch ($Params['type']){
            case 'number':
                $data = [
                    'shopid' => mvc::$cfg['SHOPID'],
                    'number' => isset($Params['keyword']) ? $Params['keyword'] : ''
                ];
                break;
            case 'engine':
                $data = [
                    'shopid' => mvc::$cfg['SHOPID'],
                    'engine' => isset($Params['keyword']) ? $Params['keyword'] : ''
                ];
                break;
            case 'item':
                $data = [
                    'shopid' => mvc::$cfg['SHOPID'],
                    'item' => isset($Params['keyword']) ? $Params['keyword'] : ''
                ];
                break;
            default:
                $data = [
                    'shopid' => mvc::$cfg['SHOPID'],
                    'mod3_id' => $Params['mod3_id'] ?: '',
                ];
                break;
        }

        foreach ($data  as $k => $v){
            if(empty($v)){
                unset($data[$k]);
            }
        }
        $LibYpApi = new LibYpApi();
        $res = $LibYpApi->Get('super/getSearchParts',$data);
        $data = [];
        $data[] = [
            'spart_id' => 0,
            'spart_name' => '所有'
        ];
        if($res['status'] == true && !empty($res['data'])){
            foreach ($res['data'] as $value){
                if(!empty($value)){
                    foreach ($value as $v){
                        $data[] = $v;
                    }
                }
            }
        }
        LibFc::ajaxJsonEncode(['status'=>true,'data'=> $data]);
    }

	/**VIN识别**/
	function vinOcr()
	{
		$arr = ['vin'=>'', 'chars'=>[]];
		if(!empty($_POST['data']))
		{
			$post =  ['data'=>substr(strstr($_POST['data'], ','), 1)];
			$post['name'] = empty($_POST['name'])? 'vinFile.jpg': $_POST['name'];
			$LibYpApi = new LibYpApi();
			$res = $LibYpApi->get('ocr/vin', [],['image'=>$post]);
			$arr['vin'] = $res['data'];
			if(strlen($arr['vin']) == 17) $arr['chars'] = str_split($arr['vin'], 1);
		}
		LibFc::ajaxJsonEncode(['status'=>true,'data'=>$arr]);
	}

	//获取微信服务器的图片
	function getWxImgdata()
	{
		$Params = mvc::$URL_PARAMS;
		if(!empty($Params['serverId']))
		{
			$LibYpApi = new LibYpApi();
			$res = $LibYpApi->get('wx/getToken');
			$url = 'https://api.weixin.qq.com/cgi-bin/media/get?access_token='.$res['data'].'&media_id='.$Params['serverId'];
			$LibHttp = new LibHttp();
			$imgdata = $LibHttp->fetch($url);
			if(strlen($imgdata) > 100)
			{
				$imgdata = 'data:image/jpeg;base64,'.base64_encode($imgdata);
				$arr = ['name'=>md5($Params['serverId']).'.jpg','data'=>$imgdata];
				LibFc::ajaxJsonEncode(['status'=>true,'data'=>$arr]);
			}
		}
		LibFc::ajaxJsonEncode(['status'=>false,'data'=>'获取VIN识别的图片信息失败！']);
	}



	//配件详情
	function info()
	{
		$Params = mvc::$URL_PARAMS;
		$OthWxJs = new OthWxJs();
		$res = $OthWxJs->getSign();
		LibTpl::Set('signPackage', $res['data']);
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '配件详情');
		LibTpl::Put();
	}

	//品牌选择
	function brand()
	{
		$Params = mvc::$URL_PARAMS;
		if(!in_array('search_model',mvc::$cfg['permissionArr'])){
			if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
				$OthCheck = new OthCheck();
				$OthCheck->mustLogin('super');
			}
			LibTpl::Error('非常抱歉，您无权限访问此页面！');
		}
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '品牌选择');
		LibTpl::Put();
	}

	//车型选择
	function models()
	{
		$Params = mvc::$URL_PARAMS;
		if(!in_array('search_model',mvc::$cfg['permissionArr'])){
			if(mvc::$cfg['needLogin'] && empty($_SESSION['_userid'])){
				$OthCheck = new OthCheck();
				$OthCheck->mustLogin('super');
			}
			LibTpl::Error('非常抱歉，您无权限访问此页面！');
		}
		LibTpl::Set('Params', $Params);
		LibTpl::Set('title', '车型选择');
		LibTpl::Put();
	}

	function itemModelTree()
	{
		$Params = mvc::$URL_PARAMS;
		$LibPjlApi = new LibPjlApi();
		$p = $this->decodeUri($Params['uri']);
		unset($Params['uri']);
		$Params = array_merge($Params, $p);
		$res = $LibPjlApi->Get('data/itemModelTree', $Params);
		LibFc::ajaxJsonEncode($res);
	}
}
