Model_logic_ding.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. /**
  3. * 对接crm接口
  4. */
  5. class Model_logic_ding extends Lin_Model {
  6. function __construct(){
  7. parent::__construct();
  8. $this->load->_model("Model_logic_tools","logic_tools");
  9. $this->load->_model("Model_zzjobs","zzjobs");
  10. $this->load->_model("Model_zzerrlog","zzerrlog");
  11. }
  12. public $key = "ly20250115@0911";
  13. //public $key = "Hello, World!";
  14. public function getKey(){
  15. return $this->key;
  16. }
  17. public function sendToDing($error_msg){
  18. $this->zzerrlog->insert([
  19. 'content'=>$error_msg,
  20. 'created_time'=>date("Y-m-d H:i:s"),
  21. 'time'=>time(),
  22. ]);
  23. }
  24. public function sendToTmp($error_msg){
  25. $this->db->insert("crowd_zzlinshi",[
  26. 'content'=>$error_msg,
  27. 'created_time'=>date("Y-m-d H:i:s"),
  28. 'time'=>time(),
  29. ]);
  30. }
  31. public $url = "http://a25.wepolicy.cn/errorlog/ding";
  32. // public function sendToDing($error_msg){
  33. // $data = [
  34. // 'bs'=>$this->logic_tools->toolsjiami($this->key),
  35. // 'content'=>$error_msg,
  36. // ];
  37. // $data = json_encode($data,JSON_UNESCAPED_UNICODE);
  38. // $ch = curl_init($this->url);
  39. // // 设置cURL选项
  40. // $options = array(
  41. // CURLOPT_SSL_VERIFYPEER=>false,
  42. // CURLOPT_SSL_VERIFYHOST=>false,
  43. // CURLOPT_RETURNTRANSFER => true,
  44. // CURLOPT_POST => true,
  45. // CURLOPT_POSTFIELDS => $data,
  46. // CURLOPT_HTTPHEADER => [
  47. // 'Content-Type: application/json'
  48. // ],
  49. // CURLOPT_ENCODING => "gzip,deflate"
  50. // );
  51. // // 应用这些选项到cURL会话
  52. // curl_setopt_array($ch, $options);
  53. // // 执行cURL会话并获取响应
  54. // $response = curl_exec($ch);
  55. // // 检查是否有错误发生
  56. // if ($response === false) {
  57. // $error = curl_error($ch);
  58. // curl_close($ch);
  59. // return [
  60. // "code"=> -1,
  61. // "msg"=> $error
  62. // ];
  63. // }
  64. // // 关闭cURL会话
  65. // curl_close($ch);
  66. // }
  67. /**
  68. * 添加到执行队列上
  69. */
  70. public function addJobs($type,$params){
  71. $this->zzjobs->insert([
  72. 'status'=>0,
  73. 'quque'=>$type,
  74. 'payload'=>json_encode($params),
  75. 'do_interval'=>1,
  76. 'create_time'=>time(),
  77. ]);
  78. }
  79. /**
  80. * 发送执行队列
  81. * @param string $job_name 队列名称
  82. * @param array $params 队列参数
  83. * @param int $delay 延迟时间
  84. * @param string $queue_name 队列名称
  85. */
  86. public function sendJobs($job_name,$params,$delay,$queue_name){
  87. $data = json_encode([
  88. 'job_name'=>$job_name,
  89. 'params'=>$params,
  90. 'delay'=>$delay,
  91. 'queue_name'=>$queue_name,
  92. ],JSON_UNESCAPED_UNICODE);
  93. $token = openssl_encrypt("erp@laravel-".time(),'AES-128-CBC',"v!lvhaonjgir6amg",0,"k!lyerp6jt!6ook4");
  94. $ch = curl_init("http://mylaravel.local/api/index");
  95. // 设置cURL选项
  96. $options = array(
  97. CURLOPT_SSL_VERIFYPEER=>false,
  98. CURLOPT_SSL_VERIFYHOST=>false,
  99. CURLOPT_RETURNTRANSFER => true,
  100. CURLOPT_POST => true,
  101. CURLOPT_POSTFIELDS => $data,
  102. CURLOPT_HTTPHEADER => [
  103. 'Content-Type: application/json',
  104. 'Authorization: Bearer '.$token
  105. ],
  106. CURLOPT_ENCODING => "gzip,deflate"
  107. );
  108. // 应用这些选项到cURL会话
  109. curl_setopt_array($ch, $options);
  110. // 执行cURL会话并获取响应
  111. $response = curl_exec($ch);
  112. // 检查是否有错误发生
  113. if ($response === false) {
  114. $error = curl_error($ch);
  115. curl_close($ch);
  116. return [
  117. "code"=> -1,
  118. "msg"=> $error
  119. ];
  120. }
  121. // 关闭cURL会话
  122. curl_close($ch);
  123. }
  124. }