QueueCbt.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php defined('BASEPATH') OR exit('No direct script access allowed');
  2. /**
  3. * 此列一般在执行 24个小时中的一个 时候执行一次
  4. */
  5. class QueueCbt extends Start_Controller {
  6. public function __construct(){
  7. parent::__construct();
  8. $this->load->_model("Model_express_tt","express_tt");
  9. $this->load->_model("Model_shop","shop");
  10. }
  11. private $ip = ['127.0.0.1','47.105.156.18'];
  12. //定义方法的调用规则 获取URI第二段值
  13. public function _remap($arg,$arg_array)
  14. {
  15. $ip = $_SERVER['REMOTE_ADDR'];
  16. if(!in_array($ip,$this->ip)){
  17. exit("No direct script access allowed");
  18. }
  19. $this->_cbtCreateLabel();
  20. }
  21. //tiktok的cbt发货模式 按照定时任务先创建标签
  22. //订单状态要求 已审核 未打印 未出库 允许出库 允许打印 快递必须要是cbt
  23. // 当前店铺为tt-wk
  24. private function _cbtCreateLabel(){
  25. if(date("H") != 20){
  26. exit("当前不是20点执行".date("H"));
  27. }
  28. die;
  29. $where_arr = [
  30. "shop"=>35,//当前店铺为tt-wk
  31. "express"=>83,//快递为tt-cbt
  32. "print"=>2,//未打印
  33. "printnumber"=>0,//打印次数
  34. 'library'=>1,//未出库
  35. //'libraryconfirm'=>2,//允许出库
  36. "review >"=>4,//审核通过或自动审核
  37. ];
  38. $shop_info = $this->shop->read(35);
  39. if(empty($shop_info)){
  40. exit("当前店铺不存在");
  41. }
  42. $list = $this->db->from("fullordertt")
  43. ->where($where_arr)
  44. ->get()->result_array();
  45. if(empty($list)){
  46. exit("没有符合条件的订单");
  47. }
  48. foreach($list as $k=>$v){
  49. $extra_text = json_encode($v['extra_text'],true);
  50. if(isset($extra_text['label_info'])){
  51. continue;
  52. }
  53. $this->express_tt->createLabel($v,$shop_info);
  54. usleep(100);
  55. }
  56. exit("执行完成");
  57. }
  58. }