<?php
/**
  * @method tecdoc数据库操作
  * @author soul
  * @copyright 2016/3/31
  */
class TcdBase
{
	protected $TCDDb = null;
	public function __construct($TCDDb = null)
	{
		$this->TCDDb = $TCDDb==null ?  new LibDb (mvc::$cfg['DB']['TCD']): $TCDDb;
	}
	
	/**
	  * @method 查询表信息
	  * @param  $Table 表明 如：yp_product 或者 yp_product as a join yp_number as b on a.pid=b.pid
	  * @param  $FieldArr 需要查询的字段名称数组
	  * @param  $Where 查询条件
	  * @param  $OneRow true|false
	  * @author soul
	  * @copyright 2016/3/30
	  * @return array(3) { ["status"]=> bool(true) ["data"]=> $OneRow=false 二维数组 ; $OneRow=true 一维数组["code"]=> int(0) } 
	  */
	public function get($Table, $FieldArr, $Where = '', $OneRow = false)
	{
		if(!empty($FieldArr) && is_array($FieldArr))
		{
			$Sql = sprintf("SELECT %s FROM %s WHERE 1=1 %s", implode(',', $FieldArr), $Table, $Where);
			//echo $Sql;
			$ResFlag = $this->TCDDb->Query($Sql);
			if($ResFlag)
			{
				$Arr = array();
				while($Row = $this->TCDDb->Fetch())
				{
					foreach($Row as $kk=>$vv)
					{
						if(!empty($vv) && in_array($kk, ['SUP_BRAND', 'BRA_MFC_CODE', 'BRA_BRAND', 'RE_BRA_BRAND']))
						{
							$Row[$kk] = LibFc::ToEnFac($vv);
						}
						else
						{
							$Row[$kk] = is_resource($vv)? stream_get_contents($vv): $vv;
						}
					}
					if(!empty($Row['ART_PIC']))
					{
						$Row['ART_PIC'] = LibFc::FormatTcdPic($Row['ART_PIC'], mvc::$cfg['urls']['tcdPic']);
					}
					if($OneRow)
					{
						$Arr = $Row;
						break;
					}
					else
					{
						$Arr[] = $Row;
					}
				}
				return LibFc::ReturnData(true, $Arr);
			}
			return LibFc::ReturnData(false, $Sql.'查询SQL语句执行失败。');
		}
		return LibFc::ReturnData(false, $Table.'查询提供的参数不正确。');
	}
}