Express.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace addons\shopro\controller\order;
  3. use addons\shopro\controller\Common;
  4. use app\admin\model\shopro\order\Express as OrderExpressModel;
  5. use addons\shopro\library\express\Express as ExpressLib;
  6. use think\Db;
  7. //物流
  8. class Express extends Common
  9. {
  10. protected $noNeedLogin = ['push'];
  11. protected $noNeedRight = ['*'];
  12. public function index()
  13. {
  14. $user = auth_user();
  15. $order_sn = $this->request->param('order_sn');
  16. $order_id = Db::name('shopro_order')->where('order_sn',$order_sn)->value('id');
  17. // 更新包裹信息(5分钟缓存)
  18. (new ExpressLib)->updateOrderExpress($order_id);
  19. $expresses = OrderExpressModel::with(['logs'/*, 'items' => function ($query) use ($order_id) {
  20. return $query->where('order_id', $order_id);
  21. }*/])->where('user_id', $user->id)->where('order_id', $order_id)->select();
  22. $address = Db::name('shopro_order_address')->where('order_id',$order_id)->find();
  23. $order_sn = Db::name('shopro_order')->where('id',$order_id)->value('order_sn');
  24. $result = [
  25. 'order_sn' => $order_sn,
  26. 'address' => $address,
  27. 'expresses' => $expresses,
  28. ];
  29. $this->success('获取成功', $result);
  30. }
  31. public function detail()
  32. {
  33. $user = auth_user();
  34. $id = $this->request->param('id');
  35. $order_id = $this->request->param('order_id');
  36. // 更新包裹信息(5分钟缓存)
  37. (new ExpressLib)->updateOrderExpress($order_id);
  38. $express = OrderExpressModel::with(['logs', 'items' => function ($query) use ($order_id) {
  39. return $query->where('order_id', $order_id);
  40. }])->where('user_id', $user->id)->where('order_id', $order_id)->where('id', $id)->find();
  41. $this->success('获取成功', $express);
  42. }
  43. /**
  44. * 接受物流推送
  45. *
  46. * @param Request $request
  47. * @return void
  48. */
  49. public function push()
  50. {
  51. $data = $this->request->param();
  52. $expressLib = new ExpressLib();
  53. $result = $expressLib->push($data);
  54. return response($result, 200, [], 'json');
  55. }
  56. }