硕顺crm后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

113 lines
4.3 KiB

<?php
namespace addons\qingdong\library;
use addons\qingdong\model\AdminConfig;
use addons\qingdong\model\Contacts;
use addons\qingdong\model\Customer;
use addons\qingdong\model\KuCustomer;
use think\Model;
use fast\Http;
/**
*
*/
class Ku extends Model
{
//客户增加
public function addCustomer($params=null){
$ku = AdminConfig::where(['type'=>AdminConfig::TYPE_KU])->column('field,value');
if(isset($ku) && $ku && $params){
if($ku['status'] == 1 && $ku['account'] && $ku['key']){
$info = KuCustomer::where(array('customer_id'=>$params['customer_id']))->find();
if($info){
return true;
}
$customer = Customer::where(array('id'=>$params['customer_id']))->find();
$url =$ku['url'].'api/kuerp/third/customers/joinCustomers';
$sign = md5('account='.$ku['account'].'&mobile='.$params['mobile'].'&name='.$customer['name'].'key='.$ku['key']);
$data = array(
'account'=>$ku['account'],
'sign'=>$sign,
'request_time'=>time(),
'name'=>$customer['name'],
'mobile'=>$params['mobile'],
'address'=>$customer['address'],
'note'=>$customer['remarks'],
);
$result = $this->http_post($url,$data);
$result = json_decode($result,true);
if($result['code'] == 1){
$ress = array(
'customer_id'=>$params['customer_id'],
'contacts_id'=>$params['contacts_id'],
'ku_id'=>$result['data']['id'],
'code'=>$result['data']['customer_code'],
'createtime'=>time()
);
KuCustomer::create($ress);
}
}
}
return true;
}
//客户修改
public function editCustomer($params=null){
$ku = AdminConfig::where(['type'=>AdminConfig::TYPE_KU])->column('field,value');
if(isset($ku) && $ku && $params){
if($ku['status'] == 1 && $ku['account'] && $ku['key']){
$info = KuCustomer::where(array('customer_id'=>$params['id']))->find();
if(!$info){
return true;
}
$contacts = Contacts::where(array('id'=>$info['contacts_id']))->value('mobile');
$url =$ku['url'].'api/kuerp/third/customers/editCustomers';
$sign = md5('account='.$ku['account'].'&code='.$info['code'].'&mobile='.$contacts.'&name='.$params['name'].'key='.$ku['key']);
$data = array(
'account'=>$ku['account'],
'sign'=>$sign,
'request_time'=>time(),
'code'=>$info['code'],
'name'=>$params['name'],
'mobile'=>$contacts,
'address'=>$params['address'],
);
$result = $this->http_post($url,$data);
$result = json_decode($result,true);
}
}
return true;
}
public function http_post($url,$param,$post_file=false){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
if (is_string($param) || $post_file) {
$strPOST = $param;
} else {
$aPOST = array();
foreach($param as $key=>$val){
$aPOST[] = $key."=".urlencode($val);
}
$strPOST = join("&", $aPOST);
}
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($oCurl, CURLOPT_POST,true);
curl_setopt($oCurl, CURLOPT_POSTFIELDS,$strPOST);
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
return false;
}
}
}