Init Repo

This commit is contained in:
root
2019-09-06 23:53:10 +08:00
commit f0ef89dfbb
7905 changed files with 914138 additions and 0 deletions

148
addons/kuaidi/model/Kuaidi.php Executable file
View File

@ -0,0 +1,148 @@
<?php
namespace addons\kuaidi\model;
use think\addons\BaseModel as Base;
use think\Db;
/**
* ============================================================================
* 快递查询业务处理
*/
class Kuaidi extends Base{
/**
* 绑定勾子
*/
public function install(){
Db::startTrans();
try{
$hooks = array("adminDocumentOrderView","homeDocumentOrderView","afterQueryUserOrders","mobileDocumentOrderList","wechatDocumentOrderList");
$this->bindHoods("Kuaidi", $hooks);
Db::commit();
return true;
}catch (\Exception $e) {
Db::rollback();
return false;
}
}
/**
* 解绑勾子
*/
public function uninstall(){
Db::startTrans();
try{
$hooks = array("adminDocumentOrderView","homeDocumentOrderView","afterQueryUserOrders","mobileDocumentOrderList","wechatDocumentOrderList");
$this->unbindHoods("Kuaidi", $hooks);
Db::commit();
return true;
}catch (\Exception $e) {
Db::rollback();
return false;
}
}
public function getExpress($orderId){
$conf = $this->getConf("Kuaidi");
$express = Db::name('orders')->where(["orderId"=>$orderId])->field(['expressId','expressNo'])->find();
return $express;
}
public function getOrderExpress($orderId){
$conf = $this->getConf("Kuaidi");
$express = Db::name('orders')->where(["orderId"=>$orderId])->field(['expressId','expressNo'])->find();
if($express["expressId"]>0){
$expressId = $express["expressId"];
$row = Db::name('express')->where(["expressId"=>$expressId])->find();
$typeCom = strtolower($row["expressCode"]); //快递公司
$typeNu = $express["expressNo"]; //快递单号
$appKey= $conf["kuaidiKey"];
$expressLogs = null;
$post_data['param'] = json_encode(['com'=>$typeCom,'num'=>$typeNu]);
$key ='jMIRnHZa5264';
$post_data['customer'] ='466DC9B2C8C2CA140FFB2E6FAFE705DF';
$post_data['sign']= strtoupper(md5($post_data['param'].$key.$post_data['customer']));
$expressLogs = $this->curl_request('http://poll.kuaidi100.com/poll/query.do',$post_data);
//$url ='http://api.kuaidi100.com/api?id='.$appKey.'&com='.$typeCom.'&nu='.$typeNu.'&show=0&muti=1&order=asc';
//$companys = array('ems','shentong','yuantong','shunfeng','yunda','tiantian','zhongtong','zengyisudi');
// if(in_array($typeCom,$companys)){
// $url = 'http://www.kuaidi100.com/query?type=' . $typeCom . '&postid=' . $typeNu;
// }else{
// $url ='http://api.kuaidi100.com/api?id='.$appKey.'&com='.$typeCom.'&nu='.$typeNu.'&show=0&muti=1&order=asc';
// }
//$expressLogs = $this -> curl($url);
return $expressLogs;
}
}
//参数1访问的URL参数2post数据(不填则为GET)参数3提交的$cookies,参数4是否返回$cookies
function curl_request($url,$post='',$cookie='', $returnCookie=0){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
if($post) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));
}
if($cookie) {
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
if (curl_errno($curl)) {
return curl_error($curl);
}
curl_close($curl);
if($returnCookie){
list($header, $body) = explode("\r\n\r\n", $data, 2);
preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
$info['cookie'] = substr($matches[1][0], 1);
$info['content'] = $body;
return $info;
}else{
return $data;
}
}
public function getOrderInfo($orderId = 0){//添加可传订单号方法 mark hsf 20171130
$data = array();
if(!$orderId){
$orderId = input("orderId");
}
$data["express"] = Db::name('orders o')->join('__EXPRESS__ e', 'o.expressId=e.expressId')->where(["orderId"=>$orderId])->field(['e.expressId','e.expressImg','o.expressNo','e.expressName'])->find();
$data["express"]['expressImg'] = WSTImg($data["express"]['expressImg'],3);
$data["goodsImg"] = Db::name('orders o')->join('__ORDER_GOODS__ og','o.orderId=og.orderId')->where(["o.orderId"=>$orderId])->value('og.goodsImg');//这个只返回一个数据
return $data;
}
public function curl($url) {
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_HEADER,0);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
curl_setopt ($curl, CURLOPT_TIMEOUT,5);
$content = curl_exec($curl);
curl_close ($curl);
return $content;
}
public function getOrderDeliver($orderId){
$rs = Db::name('orders o')->where(["orderId"=>$orderId])->field("deliverType,orderStatus,expressNo")->find();
return $rs;
}
}