_Account = $this->getKey($this->_apiCode); //验证是否具有访问这个接口的权限 if(!isset($this->_Account['Product'])){ HelperService::returnJson(['code'=>400,'msg'=>'product interface unauthorized access','data'=>[]]); } } public function getProductList(){ $params = $this->_params; $rule = [ 'company_no|集团编号'=>'require|max:100', 'page|页码'=>'integer', 'page_size|每页数目'=>'integer', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]); } $page = isset($params['page'])?$params['page']:0; $pageSize = isset($params['page_size'])?$params['page_size']:0; $count = $this->_getProductList($params['company_no'],true); $list = $this->_getProductList($params['company_no'],false,$page,$pageSize); HelperService::returnJson([ 'code'=>200, 'msg'=>'success', 'data'=>['list'=>$list,'count'=>$count] ]); } public function getSeriesList(){ $params = $this->_params; $rule = [ 'company_no|集团编号'=>'require|max:100', 'page|页码'=>'integer', 'page_size|每页数目'=>'integer', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]); } $page = isset($params['page'])?$params['page']:0; $pageSize = isset($params['page_size'])?$params['page_size']:0; try { $c = new \SoapClient( 'http://hqdemo.keqin89.com/KeQinHQWebService.asmx?wsdl'); $result = $c->LoginLite(array( 'strHQCode' => '898', 'strUserName'=>"898_0005_90", 'strPassword'=>md5("123") , 'strShopCode'=>'', 'strMachineCode'=>'', 'strMachineSN'=>'', 'strKeyUID'=>'', 'strUserID'=>'', 'strPV'=>'1.7.9.0', 'strFrom'=>'HQClient', 'strContents'=>'' )); $result = json_decode(json_decode(json_encode($result),true)['LoginLiteResult'],true); } catch (SOAPFault $e) { print $e; } if(isset($result['Message']['token'])){ try { $c = new \SoapClient( 'http://hqdemo.keqin89.com/KeQinHQWebService.asmx?wsdl'); $result = $c->GetShopMenuData(array( 'strHQCode' => $params['company_no'], 'strShopCode'=>$params['store_no'], 'strMachineCode'=>'', 'strMachineSN'=>'', 'strKeyUID'=>'', 'strToken'=>$result['Message']['token'], 'strUserID'=>'', 'strFrom'=>'POS', 'strContents'=>'{}' )); $results = json_decode(json_decode(json_encode($result),true)['GetShopMenuDataResult'],true); } catch (SOAPFault $e) { print $e; } HelperService::returnJson([ 'code'=>200, 'msg'=>'success', 'data'=>$results['Message'] ]); }else{ HelperService::returnJson([ 'code'=>400, 'msg'=>'登陆失败', 'data'=>[] ]); } } public function getSeriesLists(){ $params = $this->_params; $rule = [ 'company_no|集团编号'=>'require|max:100', 'page|页码'=>'integer', 'page_size|每页数目'=>'integer', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]); } $page = isset($params['page'])?$params['page']:0; $pageSize = isset($params['page_size'])?$params['page_size']:0; $count = $this->_getSeriesList($params['company_no'],true); $list = $this->_getSeriesList($params['company_no'],false,$page,$pageSize); HelperService::returnJson([ 'code'=>200, 'msg'=>'success', 'data'=>['list'=>$list,'count'=>$count] ]); } public function getPackageList(){ $params = $this->_params; $rule = [ 'company_no|集团编号'=>'require|max:100', 'page|页码'=>'integer', 'page_size|每页数目'=>'integer', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]); } $page = isset($params['page'])?$params['page']:0; $pageSize = isset($params['page_size'])?$params['page_size']:0; $list = $this->_getPackageList($params['company_no'],false,$page,$pageSize); HelperService::returnJson([ 'code'=>200, 'msg'=>'success', 'data'=>['list'=>$list] ]); } public function getFalvorList(){ $params = $this->_params; $rule = [ 'company_no|集团编号'=>'require|max:100', 'page|页码'=>'integer', 'page_size|每页数目'=>'integer', ]; $validate = new Validate($rule); if(!$validate->check($params)){ HelperService::returnJson(['code'=>400,'msg'=>$validate->getError(),'data'=>[]]); } $page = isset($params['page'])?$params['page']:0; $pageSize = isset($params['page_size'])?$params['page_size']:0; $count = $this->_getFalvorList($params['company_no'],true); $list = $this->_getFalvorList($params['company_no'],false,$page,$pageSize); HelperService::returnJson([ 'code'=>200, 'msg'=>'success', 'data'=>['list'=>$list,'count'=>$count] ]); } public function _getPackageList($companyNo,$isCount=false,$page=0,$pageSize=0){ $field = 'strItemBarCode as series_no,strProductName as product_name,strStandard as specs,strUnit as unit,floPrice as price,strProductBarCode as product_code'; $mssqlConnection = $this->singleProductDbConnect(); $productDbObj = $mssqlConnection->table('viwProduct') ->field($field)->where(['strHQCode'=>"$companyNo","blnSet"=>1]); if($isCount){ return $productDbObj->count(); } if(!empty($page) && !empty($pageSize)){ $productDbObj->page($page,$pageSize); } $packageProduct = $productDbObj->select(); $field = 'strProductBarCodeSet,strProductBarCode,strProductName,floQuantity,floPrice,strSetAlias'; $mssqlConnection_sate = $this->singleProductDbConnect(); $productDbObj_sate = $mssqlConnection_sate->table('tabSet') ->field($field)->where(['strHQCode'=>"$companyNo","blnState"=>1]); $packageDetail = $productDbObj_sate->select(); $field = 'strSetBarCode,strProductBarCode,strReplaceProductBarCode,floDifferPrice'; $mssqlConnection_set = $this->singleProductDbConnect(); $productDbObj_set = $mssqlConnection_set->table('tabSetReplace') ->field($field)->where(['strHQCode'=>"$companyNo","blnState"=>1]); $packageChange = $productDbObj_set->select(); return ["package"=>$packageProduct,'detail'=>$packageDetail,'change'=>$packageChange]; } public function getAllList(){ $mssqlConnection = $this->singleProductDbConnect(); $productDbObj = $mssqlConnection->table('viwProduct')->limit(10)->select(); var_dump(array_column($productDbObj, 'strProductName')); } /** * 查询产品列表 * @param type $companyNo * @param type $isCount * @param type $page * @param type $pageSize * @return type */ private function _getProductList($companyNo,$isCount=false,$page=0,$pageSize=0){ $field = 'strItemBarCode as series_no,strProductName as product_name,strStandard as specs,strUnit as unit,floPrice as price,strProductBarCode as product_code'; $mssqlConnection = $this->singleProductDbConnect(); $productDbObj = $mssqlConnection->table('viwProduct') ->field($field)->where(['strHQCode'=>"$companyNo"]); if($isCount){ return $productDbObj->count(); } if(!empty($page) && !empty($pageSize)){ $productDbObj->page($page,$pageSize); } return $productDbObj->select(); } /** * 查询产品列表 * @param type $companyNo * @param type $isCount * @param type $page * @param type $pageSize * @return type */ private function _getSeriesList($companyNo,$isCount=false){ $field = 'strItemName,strItemBarCode'; $mssqlConnection = $this->singleProductDbConnect(); $productDbObj = $mssqlConnection->table('tabItem') ->field($field)->where(['strHQCode'=>"$companyNo"]); if($isCount){ return $productDbObj->count(); } return $productDbObj->select(); } /** * 查询佐料列表 * @param type $companyNo * @param type $isCount * @param type $page * @param type $pageSize * @return type */ private function _getFalvorList($companyNo,$isCount=false){ $field = 'intFlavorID,strFlavorBarCode,strFlavorName,floPrice'; $mssqlConnection = $this->singleProductDbConnect(); $productDbObj = $mssqlConnection->table('tabFlavor') ->field($field)->where(['strHQCode'=>"$companyNo"]); if($isCount){ return $productDbObj->count(); } return $productDbObj->select(); } }