| 
					
				 | 
			
			
				@@ -6,164 +6,181 @@ Class Sign { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	static $key = "udik876ehjde32dU61edsxsf";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	static $accesser_id = 'zsma';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	static $sign_type = 'SHA-256';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private $test = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private $url = 'https://selfapply-test.chinaums.com/self-contract-nmrs/interface/autoReg/';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	//private $product_id = array('0','1','in1','in2','in3','in4');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private $product_id = array('0');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private $document_type = array
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0001','document_name' => '身份证正面', 'key' => 'idcard_front'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0011','document_name' => '身份证反面', 'key' => 'idcard_back'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0002','document_name' => '营业执照', 'key' => 'license'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0003','document_name' => '税务登记证', 'key' => 'tax'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0005','document_name' => '门头照', 'key' => 'door'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0007','document_name' => '手持身份证自拍照', 'key' => 'hand_idcard'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0006','document_name' => '开户许可证', 'key' => 'open'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0025','document_name' => '银行卡正面照', 'key' => 'bank_fount'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0026','document_name' => '银行卡反面照', 'key' => 'bank_back'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ['document_type' => '0015','document_name' => '室内照片', 'key' => 'house_pic'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    );
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0001','document_name' => '身份证正面', 'key' => 'idcard_front'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0011','document_name' => '身份证反面', 'key' => 'idcard_back'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0002','document_name' => '营业执照', 'key' => 'license'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0003','document_name' => '税务登记证', 'key' => 'tax'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0005','document_name' => '门头照', 'key' => 'door'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0007','document_name' => '手持身份证自拍照', 'key' => 'hand_idcard'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0006','document_name' => '开户许可证', 'key' => 'open'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0025','document_name' => '银行卡正面照', 'key' => 'bank_fount'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0026','document_name' => '银行卡反面照', 'key' => 'bank_back'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		['document_type' => '0015','document_name' => '室内照片', 'key' => 'house_pic'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 统一处理接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function handle($shop_id)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$shop = Dever::db('shop/info')->find($shop_id);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$sign = Dever::db('shop/sign')->find(array('shop_id'=>$shop_id));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if (!$sign) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		Dever::alert('档案资料未上传');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	switch($sign['step']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		case -1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			# 提交资料
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return $this->up($shop, $sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		case 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		case 6;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			if ($sign['bank_acct_type'] == 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    				# 对公打款
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 获取日志
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function getLog($shop)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Dever::setInput('search_option_shop_id', -1);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$sign = Dever::db('shop/sign')->find(array('shop_id' => $shop['id']));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!$sign) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return Dever::timeline('填写资料');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($sign['step'] == -1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$url = Dever::url('shop/lib/sign.handle?shop_id=' . $sign['shop_id'] . '&json=1');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result = array('<a href="javascript:;" onclick="load(\''.$url.'\')">点此上传资料</a>');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$log = Dever::db('shop/sign_log')->select(array('sign_id' => $sign['id']));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ($log) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				foreach ($log as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if ($v['step'] == 4) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$v['response'] = Dever::json_decode($v['response']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$v['desc'] .= '  <a href="'.$v['response']['url'].'" target="_blank">点此打开</a>  <a style="cursor:pointer" data-clipboard-text="'.$v['response']['url'].'" class="clipboard">复制链接</a>';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$date = date('Y-m-d H:i', $v['cdate']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$result[] = $date . '  ' . $v['desc'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = Dever::timeline('签约记录', $result);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 统一处理接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function handle_api($shop_id)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$shop = Dever::db('shop/info')->find($shop_id);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$sign = Dever::db('shop/sign')->find(array('shop_id' => $shop_id));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!$sign) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Dever::alert('档案资料未上传');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		switch($sign['step']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case -1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				# 提交资料
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return $this->up($shop, $sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 6;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if ($sign['bank_acct_type'] == 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					# 对公打款
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					return $this->account($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					# 签约
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 					return $this->agreement($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		case 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			# 打款验证
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return $this->account_check($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		case 4;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			# 验证签约
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return $this->check($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		case 5;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			# 签约成功,变更签约?
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return $this->up($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return 'ok';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    #3.2  详细采集档案资料上传接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private function up($shop, $sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'complex_upload';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['accesser_user_id'] = $shop['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($sign['reg_mer_type'] == 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$sign['reg_mer_type'] = '00';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} elseif ($sign['reg_mer_type'] == 2) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$sign['reg_mer_type'] = '01';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} elseif ($sign['reg_mer_type'] == 3) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$sign['reg_mer_type'] = '02';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['reg_mer_type'] = $sign['reg_mer_type'];#注册类型
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['legal_name'] = $sign['name'];#法人姓名
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['legal_idcard_no'] = $sign['idcard'];#法人身份证号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['legal_mobile'] = $sign['mobile'];#法人手机号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['legal_card_deadline'] = date('Y-m-d',$sign['card_deadline']);#证件截止代表日期
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['shop_name'] = $shop['name'];#店铺名称
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($sign['bank_acct_type'] == -1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['bank_acct_type'] = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['bank_acct_type'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				# 打款验证
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return $this->account_check($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 4;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				# 验证签约
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return $this->check($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			case 5;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				# 签约成功,变更签约?
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return '签约已成功,后续可以变更签约';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return $this->up($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return 'ok';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['bank_acct_no'] = $sign['bank_acct_no'];#开户行账号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($sing['acct_type'] == 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['bank_acct_name'] = $sign['company_name'];#开户账号名称
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['bank_acct_name'] = $sign['name'];#开户账号名称
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['mccCode'] = $sign['mccCode'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	#3.2  详细采集档案资料上传接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function up($shop, $sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'complex_upload';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['accesser_user_id'] = $shop['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($sign['reg_mer_type'] == 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$sign['reg_mer_type'] = '00';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} elseif ($sign['reg_mer_type'] == 2) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$sign['reg_mer_type'] = '01';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} elseif ($sign['reg_mer_type'] == 3) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$sign['reg_mer_type'] = '02';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['reg_mer_type'] = $sign['reg_mer_type'];#注册类型
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['legal_name'] = $sign['name'];#法人姓名
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['legal_idcard_no'] = $sign['idcard'];#法人身份证号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['legal_mobile'] = $sign['mobile'];#法人手机号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['legal_card_deadline'] = date('Y-m-d',$sign['card_deadline']);#证件截止代表日期
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['shop_name'] = $shop['name'];#店铺名称
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($sign['bank_acct_type'] == -1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['bank_acct_type'] = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['bank_acct_type'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$area = explode(',', $shop['area']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['shop_province_id'] = $area[0]/10000;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['shop_city_id'] = $area[1]/100;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['shop_country_id'] = $area[2];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$sign_area = explode(',',$shop['area']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['shop_lic'] = $shop['license_number'];#营业执照号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if (isset($sign['bank_no']) && $sign['bank_no']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['bank_no'] = $sign['bank_no'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['shop_addr_ext'] = $sign['shop_addr_ext'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$bank = Dever::json_decode($this->bank_list($sign_area[0]/10000,$sign['bank_acct_noname']));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    	if($bank && isset($bank['branchBankList']) && $bank['branchBankList']){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    		foreach($bank['branchBankList'] as $k =>$v){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    		$bank['branchBankList'] = (array)$v;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$in['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$in['bank_no'] = $bank['branchBankList']['code'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$in['shop_addr_ext'] =  $bank['branchBankList']['bankBranchName'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	Dever::db('shop/sign')->update($in);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$data['bank_no'] = $bank['branchBankList']['code'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$data['shop_addr_ext'] = $bank['branchBankList']['bankBranchName'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    		return $this->log(1, $sign, '开户行行号不存在');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($sign['reg_mer_type'] == '00') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		if ($sign['bank_acct_type'] != '1') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return $this->log(1, $sign, '账户类型不正确');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['bank_acct_no'] = $sign['bank_acct_no'];#开户行账号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($sign['bank_acct_type'] == 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['bank_acct_name'] = $sign['company_name'];#开户账号名称
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['bank_acct_name'] = $sign['name'];#开户账号名称
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['mccCode'] = $sign['mccCode'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} elseif ($sign['reg_mer_type'] == '01') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		if ($sign['bank_acct_type'] != '0') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			return $this->log(1, $sign, '账户类型不正确');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($sign['legalmanHomeAddr']) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$area = explode(',', $shop['area']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['shop_province_id'] = $area[0]/10000;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['shop_city_id'] = $area[1]/100;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['shop_country_id'] = $area[2];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$sign_area = explode(',',$sign['area']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['shop_lic'] = $shop['license_number'];#营业执照号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$bank = $this->bank_list($sign_area[0]/10000, $sign['bank_acct_noname']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if($bank && isset($bank['branchBankList']) && $bank['branchBankList']){
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$bank['branchBankList'] = $bank['branchBankList'][0];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$in['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$in['bank_no'] = $bank['branchBankList']['code'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$in['shop_addr_ext'] =  $bank['branchBankList']['bankBranchName'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Dever::db('shop/sign')->update($in);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['bank_no'] = $bank['branchBankList']['code'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['shop_addr_ext'] = $bank['branchBankList']['bankBranchName'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return $this->log(1, $sign, '开户行行号不存在');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($sign['reg_mer_type'] == '00' && $sign['bank_acct_type'] != '1') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return $this->log(1, $sign, '账户类型不正确1');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($sign['legalmanHomeAddr']) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$data['legalmanHomeAddr'] = $sign['legalmanHomeAddr'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$document_type = $this->document_type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$document_type = $this->document_type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        foreach ($document_type as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        	if (isset($sign[$v['key']]) && $sign[$v['key']]) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        		$sign_pic = Dever::db('shop/sign_pic')->find(array('shop_id' => $shop['id'], 'key' => $v['key']));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        		if (!$sign_pic) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        			$pic = $this->pic($sign[$v['key']]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        			if ($pic && isset($pic['path']) && $pic['path']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        				$insert = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        				$insert['shop_id'] = $shop['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		        		$insert['document_type'] = $v['document_type'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		        		$insert['document_name'] = $v['document_name'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		        		$insert['key'] = $v['key'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		        		$insert['path'] = Dever::json_encode($pic);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		        		Dever::db('shop/sign_pic')->insert($insert);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		        		$data['pic_list'][] = array('document_name' => $v['document_name'], 'document_type' => $v['document_type'] , 'file_path'=> $pic['file_path'], 'file_size'=>$pic['file_size']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        			$pic = Dever::json_decode($sign_pic['path']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        			$data['pic_list'][] = array('document_name' => $sign_pic['document_name'], 'document_type' => $sign_pic['document_type'] , 'file_path'=> $pic['file_path'], 'file_size'=>$pic['file_size']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$ids = $this->product_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['product'] = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	foreach ($ids as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['product'][$k] = ['product_id' => $v]; 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($result && $result['code'] == 1 && isset($result['data']['ums_reg_id']) && $result['data']['ums_reg_id']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		foreach ($document_type as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (isset($sign[$v['key']]) && $sign[$v['key']]) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$sign_pic = Dever::db('shop/sign_pic')->find(array('shop_id' => $shop['id'], 'key' => $v['key']));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (!$sign_pic) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$pic = $this->pic($sign[$v['key']]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if ($pic && isset($pic['data']['file_path']) && $pic['data']['file_path']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$insert = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$insert['shop_id'] = $shop['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$insert['document_type'] = $v['document_type'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$insert['document_name'] = $v['document_name'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$insert['key'] = $v['key'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$insert['path'] = Dever::json_encode($pic['data']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						Dever::db('shop/sign_pic')->insert($insert);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						$data['pic_list'][] = array('document_name' => $v['document_name'], 'document_type' => $v['document_type'] , 'file_path'=> $pic['data']['file_path'], 'file_size'=>$pic['data']['file_size']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$pic = Dever::json_decode($sign_pic['path']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$data['pic_list'][] = array('document_name' => $sign_pic['document_name'], 'document_type' => $sign_pic['document_type'] , 'file_path'=> $pic['file_path'], 'file_size'=>$pic['file_size']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$ids = $this->product_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['product'] = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		foreach ($ids as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['product'][$k] = ['product_id' => $v]; 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($result && $result['code'] == 1 && isset($result['data']['ums_reg_id']) && $result['data']['ums_reg_id']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$sign['ums_reg_id'] = $update['ums_reg_id'] = $result['data']['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			Dever::db('shop/sign')->update($update);
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -173,213 +190,248 @@ Class Sign { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				return $this->agreement($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$this->log(1, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->log(1, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Dever::input('json') == 1 ? 'reload' : $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 3.7  发起对公账户验证交易接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function account($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$step = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'request_account_verify';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['company_account'] = $sign['bank_acct_no'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($result && $result['code'] == 1 && isset($result['data']['request_seq']) && $result['data']['request_seq']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 3.7  发起对公账户验证交易接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function account($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$step = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'request_account_verify';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['company_account'] = $sign['bank_acct_no'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($result && $result['code'] == 1 && isset($result['data']['request_seq']) && $result['data']['request_seq']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['step'] = $step;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['clear'] = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$this->log($update['step'], $sign, '公户打款成功', $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$this->log($step, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->log($step, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Dever::input('json') == 1 ? 'reload' : $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 3.6  对公账户认证接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function account_check($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$step = 3;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$trans_amt = Dever::input('num');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'company_account_verify';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['company_account'] = $sign['bank_acct_no'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['trans_amt'] = $trans_amt;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = $this->get($service, $data, $sign['ums_reg_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($result && $result['code'] == 1 && isset($result['data']['request_seq']) && $result['data']['request_seq']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 3.6  对公账户认证接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function account_check($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$step = 3;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$trans_amt = Dever::input('num');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'company_account_verify';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['company_account'] = $sign['bank_acct_no'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['trans_amt'] = $trans_amt;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $this->get($service, $data, $sign['ums_reg_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($result && $result['code'] == 1 && isset($result['data']['request_seq']) && $result['data']['request_seq']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['step'] = $step;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['clear'] = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$this->log($update['step'], $sign, '公户对账成功', $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return $this->agreement($sign);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$this->log($step, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->log($step, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 3.3  前台签约接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function agreement($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$step = 4;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'agreement_sign';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['pcOrH5'] = 'H5';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($result && $result['code'] == 1 && isset($result['data']['url']) && $result['data']['url']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 3.3  前台签约接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function agreement($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$step = 4;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'agreement_sign';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['pcOrH5'] = 'H5';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($result && $result['code'] == 1 && isset($result['data']['url']) && $result['data']['url']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['step'] = $step;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$update['url'] = $result['data']['url'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['clear'] = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$this->log($update['step'], $sign, '获取前台签约合同链接', $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$this->log($step, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->log($step, $sign, $result['msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Dever::input('json') == 1 ? 'reload' : $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 3.4  入网状态查询接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function check($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$step = 5;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'apply_qry';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = $this->get($service, $data, $sign['ums_reg_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($result && $result['code'] == 1 && isset($result['data']['apply_status']) && $result['data']['apply_status'] == '03') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 3.4  入网状态查询接口
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function check($sign)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$step = 5;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'apply_qry';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['ums_reg_id'] = $sign['ums_reg_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $this->get($service, $data, $sign['ums_reg_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($result && $result['code'] == 1 && isset($result['data']['apply_status']) && $result['data']['apply_status'] == '03') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$update = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['where_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['step'] = $step;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$update['clear'] = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Dever::db('shop/sign')->update($update);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			$this->log($update['step'], $sign, '签约成功', $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$this->log($step, $sign, $result['data']['apply_status_msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$this->log($step, $sign, $result['data']['apply_status_msg'], $data, $result['data'], $result['request_seq']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private function encrypt($data='', $key='', $use3des = true)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$key = self::$key;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$res = bin2hex(openssl_encrypt($data, 'DES-EDE3', $key, OPENSSL_RAW_DATA));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$key = self::$key;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$res = bin2hex(openssl_encrypt($data, 'DES-EDE3', $key, OPENSSL_RAW_DATA));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return $res;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private function decrypt($data='', $key='', $use3des = true)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$key = self::$key;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return openssl_decrypt(pack('H*',$data), 'DES-EDE3', $key, OPENSSL_RAW_DATA);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function decrypt($data='', $key='', $use3des = true)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$key = self::$key;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return openssl_decrypt(pack('H*',$data), 'DES-EDE3', $key, OPENSSL_RAW_DATA);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private function get($service, $data, $request_seq = false)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$accesser_id = self::$accesser_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$sign_type = self::$sign_type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$param = $data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$param['service'] = $service;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$param['sign_type'] = $sign_type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$param['accesser_id'] = $accesser_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$param['request_date'] = date('YmdHis');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$param['request_seq'] = Dever::order();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$sign_data = json_encode($param, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$send['json_data'] = $this->encrypt($sign_data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$send['sign_data'] = hash('sha256', $sign_data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$send['accesser_id'] = $accesser_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$url = 'https://selfapply-test.chinaums.com/self-contract-nmrs/interface/autoReg/';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function get($service, $data)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$accesser_id = self::$accesser_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$sign_type = self::$sign_type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param = $data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['service'] = $service;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['sign_type'] = $sign_type;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['accesser_id'] = $accesser_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['request_date'] = date('YmdHis');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['request_seq'] = Dever::order();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$sign_data = json_encode($param, JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$send['json_data'] = $this->encrypt($sign_data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$send['sign_data'] = hash('sha256', $sign_data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$send['accesser_id'] = $accesser_id;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$url = $this->url;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result['request_seq'] = $param['request_seq'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($service == 'agreement_sign') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$url . '?' . http_build_query($send);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$response = Dever::curl($url, $send, 'get');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$response = Dever::curl($url, $send, 'post');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result['code'] = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result['request_seq'] = $param['request_seq'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result['code'] = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$result['msg'] = '请求失败';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result['data'] = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($service == 'agreement_sign') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['code'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['msg'] = '请求成功';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['data']['url'] = $url . '?' . http_build_query($send);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($this->test != 1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$response = Dever::curl($url, $send, 'post');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			# 数据模拟
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$response = $this->data($service, $param);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($response) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$response = Dever::json_decode($response);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		if (isset($response['res_code']) && $response['res_code'] == '0000') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['code'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['msg'] = '请求成功';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		} elseif (isset($result['res_msg']) && $result['res_msg']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['code'] = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['msg'] = $result['res_msg'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		} elseif (isset($result['apply_status_msg']) && $result['apply_status_msg']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['code'] = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['msg'] = $result['apply_status_msg'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($response) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$response = Dever::json_decode($response);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (isset($response['res_code']) && $response['res_code'] == '0000') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['code'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['msg'] = '请求成功';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} elseif (isset($result['res_msg']) && $result['res_msg']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['code'] = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['msg'] = $result['res_msg'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} elseif (isset($result['apply_status_msg']) && $result['apply_status_msg']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['code'] = 2;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['msg'] = $result['apply_status_msg'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result['data'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private function pic($pic)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'pic_upload';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($pic) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$pic_base64 = file_get_contents($pic);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function data($service, $data)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result['res_code'] = '0000';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result['res_msg'] = 'ok';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result['request_seq'] = $data['request_seq'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    	if ($pic_base64) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    		$temp = explode('?', $pic);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    		if ($temp) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    			$one = pathinfo($temp[0]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    			$one = pathinfo($pic);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$data['pic_base64'] = "data:image/".$one['extension'].";base64,".base64_encode($pic_base64);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	$result = $this->get($service,$data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($service == 'pic_upload') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['file_path'] = $data['request_seq'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['file_type'] = 'jpg';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['file_size'] = strlen($result['file_path']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} elseif ($service == 'complex_upload') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['ums_reg_id'] = $data['request_seq'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} elseif ($service == 'agreement_sign') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['url'] = 'https://www.baidu.com/';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} elseif ($service == 'apply_qry') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['apply_status'] = '03';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['apply_status_msg'] = '入网成功(最终成功状态)';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} elseif ($service == 'branch_bank_list') {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$result['branchBankList'][] = array('code' => '308100005607', 'bankBranchName' => '招商银行股份有限公司北京天通苑支行');
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 查询支行
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private function bank_list($areaCode, $key)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$service = 'branch_bank_list';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['areaCode'] = $areaCode;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['key'] = $key;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$result = $this->get($service,$data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Dever::json_encode($result);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 记录日志
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private function log($step, $sign, $msg, $request = array(), $response = array(), $request_seq = '')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if (!$sign) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		return $msg;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['step'] = $step;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['shop_id'] = $sign['shop_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['sign_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	$data['desc'] = $msg;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($request_seq) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['request_seq'] = $request_seq;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($request) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['request'] = Dever::json_encode($request);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if ($response) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		if (is_array($response)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    			$response = Dever::json_encode($response);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    		$data['response'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	Dever::db('shop/sign_log')->insert($data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	return $msg;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function pic($pic)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'pic_upload';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($pic) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$pic_base64 = $this->test != 1 ? file_get_contents($pic) : 'content';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ($pic_base64) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$temp = explode('?', $pic);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if ($temp) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$one = pathinfo($temp[0]);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$one = pathinfo($pic);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$data['pic_base64'] = "data:image/".$one['extension'].";base64,".base64_encode($pic_base64);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$result = $this->get($service, $data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				return $result;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 查询支行
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function bank_list($areaCode, $key)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$service = 'branch_bank_list';
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['areaCode'] = $areaCode;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['key'] = $key;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$result = $this->get($service,$data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $result['data'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	# 记录日志
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private function log($step, $sign, $msg, $request = array(), $response = array(), $request_seq = '')
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!$sign) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return $msg;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['step'] = $step;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['shop_id'] = $sign['shop_id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['sign_id'] = $sign['id'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$data['desc'] = $msg;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($request_seq) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['request_seq'] = $request_seq;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($request) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['request'] = Dever::json_encode($request);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($response) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (is_array($response)) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$response = Dever::json_encode($response);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$data['response'] = $response;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Dever::db('shop/sign_log')->insert($data);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $msg;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |