QueueOne.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php defined('BASEPATH') OR exit('No direct script access allowed');
  2. /**
  3. * 此列一般在执行 24个小时中的一个 时候执行一次
  4. */
  5. class QueueOne extends Start_Controller {
  6. public function __construct(){
  7. parent::__construct();
  8. $this->load->_model("Model_zztmpdata",'zztmpdata');
  9. $this->load->_model("Model_logic_crm",'logic_crm');
  10. $this->load->_model("Model_logic_u9action",'logic_u9action') ;
  11. $this->load->_model("Model_logic_u9bh",'logic_u9bh');
  12. $this->load->_model("Model_waybilldowns","waybilldowns");
  13. }
  14. private $ip = ['127.0.0.1','47.105.156.18'];
  15. //定义方法的调用规则 获取URI第二段值
  16. public function _remap($arg,$arg_array)
  17. {
  18. $ip = $_SERVER['REMOTE_ADDR'];
  19. if(!in_array($ip,$this->ip)){
  20. exit("No direct script access allowed");
  21. }
  22. $this->_u9action();
  23. }
  24. private function _u9action(){
  25. $this->logic_u9action->waixiao();
  26. var_dump("执行了u9外销");
  27. $this->logic_u9bh->doAction();
  28. var_dump("执行了u9备货");
  29. $this->_downloadWaybill();
  30. var_dump("执行了下载图片");
  31. }
  32. //定时执行下载图片
  33. private function _downloadWaybill(){
  34. $list = $this->waybilldowns->find_all("status = 0","*",'id asc',0,250);
  35. foreach($list as $k => $v){
  36. $this->_pdfurl($v['url'], $v['pdf_name'], $v['date_dir']);
  37. $this->waybilldowns->save([
  38. 'status'=>1,
  39. 'do_time'=>time()
  40. ],$v['id']);
  41. }
  42. }
  43. private function _pdfurl($pdf, $title, $bctime)
  44. {
  45. $pdf_path = './data/pdf/' . $bctime . '/';
  46. // 创建目录(如果不存在)
  47. if (!is_dir($pdf_path)) {
  48. mkdir($pdf_path, 0777, true); // 第三个参数 true 可以递归创建目录
  49. }
  50. // 获取PDF内容
  51. $pdf_content = file_get_contents($pdf);
  52. // 保存文件
  53. file_put_contents($pdf_path . $title . '.pdf', $pdf_content);
  54. $size = filesize($pdf_path . $title . '.pdf');
  55. if($size > 0){
  56. }else{
  57. sleep(1);
  58. // 获取PDF内容
  59. $pdf_content = file_get_contents($pdf);
  60. // 保存文件
  61. file_put_contents($pdf_path . $title . '.pdf', $pdf_content);
  62. }
  63. return $bctime;
  64. }
  65. }