<?php
class cartAction extends baseAction
{
	function index()
	{
		$OthCheck = new OthCheck();
		$OthCheck->mustLogin('gzhs');
		$B2cBase = new B2cBase();
		$B2cProduct = new B2cProduct();
		$B2cShoppingCart=new B2cShoppingCart();
		$B2cUser=new B2cUser();
		$res=$B2cUser->getUserMember($_SESSION['_userid'],mvc::$cfg['SHOPID']);
		$level=0;
		if(!empty($res['data']))
		{
			$level=$res['data']['mem_mel_id'];
		}
		// 当前店铺所有购物车 
		$table = "us_cart inner join bc_product on pro_id=car_pro_id ";
		$where = sprintf("and car_uid=%d and pro_shop_id=%d order by car_add_time desc ",$_SESSION['_userid'],mvc::$cfg['SHOPID']);
		$res = $B2cBase->get($table,['*'],$where);
		$pro = $res['data'];
		// print_r($pro);
		$ids = array_column($pro, 'pro_id');
		$pic = $B2cProduct->getProductPic($ids);
		$pic = $pic['data'];
		$checked = [];
		foreach ($pro as $k => $v)
		{
			$v['price']=$v['pro_promotion_price'] > 0 && $v['pro_promotion_btime'] >= time() && $v['pro_promotion_etime'] <= time()? $v['pro_promotion_price']: $v['pro_sale_price'];
			if($level>0&& $v['pro_price_vip'.$level] > 0 && $v['pro_price_vip'.$level] < $v['price'])
			{
				$v['price'] = $v['pro_price_vip'.$level];
			}
			if($v['car_checked'])
			{
				$checked[] = $v['pro_id'];
			}
			$pro[$k] = empty($pic[$v['pro_id']])?$v:array_merge($v,current($pic[$v['pro_id']]));
		}
		LibTpl::Set('data',$pro);
		// print_r($pro);
		//套餐
		$res = $B2cShoppingCart->getCarPack($_SESSION['_userid'],sprintf(' and prpa_shop_id=%d',mvc::$cfg['SHOPID']));
		// print_r($res);
		if(!empty($res['data'][0]['cart_pro']))
		{
			LibTpl::Set('packArr',$res['data'][0]['cart_pro']);
		}
		// print_r($res['data'][0]['cart_pro']);
		LibTpl::Set('check',$checked);
	
		LibTpl::Set('footMenu', 'cart');
		LibTpl::Set('title', '购物车');
		LibTpl::Put();
	}
	/**
	 * @method    改变购物车数量
	 * @author 卢
	 * @copyright 2018-07-19
	 */
	function changeNum(){
		$OthCheck = new OthCheck();
		$OthCheck->mustLogin('gzhs');
		$B2cBase =new B2cBase();
		$Params = mvc::$URL_PARAMS;
		if(!empty($Params['id'])&&!empty($Params['num']))
		{
			$where=$Params['type']=='pack'?sprintf(' and car_prpa_id=%d and car_uid=%d ',$Params['id'],$_SESSION['_userid']):sprintf(" and car_pro_id=%d and car_uid=%d",$Params['id'],$_SESSION['_userid']);
			$B2cBase->set("us_cart",['car_count'=>$Params['num']],$where);
		}
		LibFc::ajaxJsonEncode(['status'=>true, 'data'=>true]);
	}
	/**
	 * @method    购物车配件选中状态切换
	 * @author 卢
	 * @copyright 2018-07-19
	 */
	function checkedCart()
	{
		$OthCheck = new OthCheck();
		$OthCheck->mustLogin('gzhs');
		$B2cBase =new B2cBase();
		if(!empty($_POST['proArr']))
		{
			$where=$notWhere=sprintf(' and car_uid=%d',$_SESSION['_userid']);
			$proArr=array_filter($_POST['proArr']);
			$where.=sprintf(' and car_pro_id in (%s)',implode(',',$proArr));
			$notWhere.=sprintf(' and car_pro_id not in(%s)',implode(',',$proArr));
			$B2cBase->set("us_cart",['car_checked'=>'1'],$where);
			$B2cBase->set("us_cart",['car_checked'=>'0'],$notWhere);
		}else{
			$B2cBase->set("us_cart",['car_checked'=>'0'],sprintf(' and car_uid=%d and car_prpa_id =0',$_SESSION['_userid']));
		}
		if(!empty($_POST['packArr']))
		{
			$where=$notWhere=sprintf(' and car_uid=%d',$_SESSION['_userid']);
			$packArr=array_filter($_POST['packArr']);
			$where.=sprintf(' and car_prpa_id in (%s)',implode(',',$packArr));
			$notWhere.=sprintf(' and car_prpa_id not in(%s) and car_prpa_id !=0',implode(',',$packArr));
			// echo $where;echo $notWhere;
			$B2cBase->set("us_cart",['car_checked'=>'1'],$where);
			$B2cBase->set("us_cart",['car_checked'=>'0'],$notWhere);
		}else{
			$B2cBase->set("us_cart",['car_checked'=>'0'],sprintf(' and car_uid=%d and car_prpa_id !=0',$_SESSION['_userid']));
		}
		LibFc::ajaxJsonEncode(['status'=>true, 'data'=>true]);
	}
	/**
	 * @method    删除购物车
	 * @author 卢
	 * @copyright 2018-07-19
	 */
	function delCart()
	{
		$OthCheck = new OthCheck();
		$OthCheck->mustLogin('gzhs');
		$B2cShoppingCart =new B2cShoppingCart();
		if(!empty($_POST['proArr']))
		{
			$proArr=array_filter($_POST['proArr']);
			$res=$B2cShoppingCart->delShoppingCart($proArr,$_SESSION['_userid']); 
		}
		if(!empty($_POST['packArr']))
		{
			$packArr=array_filter($_POST['packArr']);
			$res=$B2cShoppingCart->delPackage($packArr,$_SESSION['_userid']);
		}
		LibFc::ajaxJsonEncode(['status'=>true, 'data'=>true]);
	}

}