Ku.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace addons\qingdong\library;
  3. use addons\qingdong\model\AdminConfig;
  4. use addons\qingdong\model\Contacts;
  5. use addons\qingdong\model\Customer;
  6. use addons\qingdong\model\KuCustomer;
  7. use think\Model;
  8. use fast\Http;
  9. /**
  10. *
  11. */
  12. class Ku extends Model
  13. {
  14. //客户增加
  15. public function addCustomer($params=null){
  16. $ku = AdminConfig::where(['type'=>AdminConfig::TYPE_KU])->column('field,value');
  17. if(isset($ku) && $ku && $params){
  18. if($ku['status'] == 1 && $ku['account'] && $ku['key']){
  19. $info = KuCustomer::where(array('customer_id'=>$params['customer_id']))->find();
  20. if($info){
  21. return true;
  22. }
  23. $customer = Customer::where(array('id'=>$params['customer_id']))->find();
  24. $url =$ku['url'].'api/kuerp/third/customers/joinCustomers';
  25. $sign = md5('account='.$ku['account'].'&mobile='.$params['mobile'].'&name='.$customer['name'].'key='.$ku['key']);
  26. $data = array(
  27. 'account'=>$ku['account'],
  28. 'sign'=>$sign,
  29. 'request_time'=>time(),
  30. 'name'=>$customer['name'],
  31. 'mobile'=>$params['mobile'],
  32. 'address'=>$customer['address'],
  33. 'note'=>$customer['remarks'],
  34. );
  35. $result = $this->http_post($url,$data);
  36. $result = json_decode($result,true);
  37. if($result['code'] == 1){
  38. $ress = array(
  39. 'customer_id'=>$params['customer_id'],
  40. 'contacts_id'=>$params['contacts_id'],
  41. 'ku_id'=>$result['data']['id'],
  42. 'code'=>$result['data']['customer_code'],
  43. 'createtime'=>time()
  44. );
  45. KuCustomer::create($ress);
  46. }
  47. }
  48. }
  49. return true;
  50. }
  51. //客户修改
  52. public function editCustomer($params=null){
  53. $ku = AdminConfig::where(['type'=>AdminConfig::TYPE_KU])->column('field,value');
  54. if(isset($ku) && $ku && $params){
  55. if($ku['status'] == 1 && $ku['account'] && $ku['key']){
  56. $info = KuCustomer::where(array('customer_id'=>$params['id']))->find();
  57. if(!$info){
  58. return true;
  59. }
  60. $contacts = Contacts::where(array('id'=>$info['contacts_id']))->value('mobile');
  61. $url =$ku['url'].'api/kuerp/third/customers/editCustomers';
  62. $sign = md5('account='.$ku['account'].'&code='.$info['code'].'&mobile='.$contacts.'&name='.$params['name'].'key='.$ku['key']);
  63. $data = array(
  64. 'account'=>$ku['account'],
  65. 'sign'=>$sign,
  66. 'request_time'=>time(),
  67. 'code'=>$info['code'],
  68. 'name'=>$params['name'],
  69. 'mobile'=>$contacts,
  70. 'address'=>$params['address'],
  71. );
  72. $result = $this->http_post($url,$data);
  73. $result = json_decode($result,true);
  74. }
  75. }
  76. return true;
  77. }
  78. public function http_post($url,$param,$post_file=false){
  79. $oCurl = curl_init();
  80. if(stripos($url,"https://")!==FALSE){
  81. curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
  82. curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);
  83. curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
  84. }
  85. if (is_string($param) || $post_file) {
  86. $strPOST = $param;
  87. } else {
  88. $aPOST = array();
  89. foreach($param as $key=>$val){
  90. $aPOST[] = $key."=".urlencode($val);
  91. }
  92. $strPOST = join("&", $aPOST);
  93. }
  94. curl_setopt($oCurl, CURLOPT_URL, $url);
  95. curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
  96. curl_setopt($oCurl, CURLOPT_POST,true);
  97. curl_setopt($oCurl, CURLOPT_POSTFIELDS,$strPOST);
  98. $sContent = curl_exec($oCurl);
  99. $aStatus = curl_getinfo($oCurl);
  100. curl_close($oCurl);
  101. if(intval($aStatus["http_code"])==200){
  102. return $sContent;
  103. }else{
  104. return false;
  105. }
  106. }
  107. }