Timedtask.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\job\controller;
  3. use app\common\model\order\Order as OrderModel;
  4. use app\common\model\settings\Setting as SettingModel;
  5. use app\api\model\order\Order as ApiOrderModel;
  6. use app\common\model\user\User as UserModel;
  7. /**
  8. * 定时任务
  9. */
  10. class Timedtask
  11. {
  12. /**
  13. * /自动收货
  14. */
  15. public function AutomaticReceipt()
  16. {
  17. $OrderModel = new OrderModel();
  18. $SettingModel = new SettingModel();
  19. $UserModel = new UserModel();
  20. $where = [
  21. 'pay_status' => 20,
  22. 'delivery_status' => 20,
  23. 'receipt_status' => 10,
  24. 'order_status' => 10,
  25. ];
  26. $ordervel = $OrderModel->where($where)->select()->toarray();
  27. $setting = json_decode($SettingModel->where(['key'=>'trade'])->value('values'),true);
  28. $vall = [];
  29. foreach ($ordervel as $key => $val) {
  30. $model = ApiOrderModel::getUserOrderDetail($val['order_id'],$val['user_id']);
  31. $time = $val['delivery_time'] +86400*$setting['order']['receive_days'];
  32. if (time() >= $time) {
  33. $user = $UserModel->find($val['user_id']);
  34. $model->receipt($user);
  35. $vall[]['order_id'] = $val['order_id'];
  36. }
  37. }
  38. exit(json_encode(array('code' => 1,'msg'=> '请求成功','time'=>time(),'data'=>$vall)));
  39. }
  40. /**
  41. * /取消订单
  42. */
  43. public function cancelOrder()
  44. {
  45. $OrderModel = new OrderModel();
  46. $SettingModel = new SettingModel();
  47. $UserModel = new UserModel();
  48. $where = [
  49. ['pay_status', '=',10],
  50. ['delivery_status', '=',10],
  51. ['receipt_status', '=',10],
  52. ['order_status', '=',10],
  53. ];
  54. $ordervel = $OrderModel->where($where)->select()->toarray();
  55. $setting = json_decode($SettingModel->where(['key'=>'trade'])->value('values'),true);
  56. $vall = [];
  57. foreach ($ordervel as $key => $val) {
  58. $model = ApiOrderModel::getUserOrderDetail($val['order_id'],$val['user_id']);
  59. $time = strtotime($val['create_time']) +86400*$setting['order']['close_days'];
  60. if (time() >= $time) {
  61. $user = $UserModel->find($val['user_id']);
  62. $model->cancel($user);
  63. $vall[]['order_id'] = $val['order_id'];
  64. }
  65. }
  66. exit(json_encode(array('code' => 1,'msg'=> '请求成功','time'=>time(),'data'=>$vall)));
  67. }
  68. }