Refund.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace app\supplier\controller\order;
  3. use app\supplier\controller\Controller;
  4. use app\supplier\model\order\Order as OrderModel;
  5. use app\supplier\model\order\OrderRefund as OrderRefundModel;
  6. use app\supplier\model\settings\ReturnAddress as ReturnAddressModel;
  7. /**
  8. * 售后管理
  9. */
  10. class Refund extends Controller
  11. {
  12. /**
  13. * 售后列表
  14. */
  15. public function index()
  16. {
  17. $model = new OrderRefundModel;
  18. $params = $this->postData();
  19. //列表数据
  20. $list = $model->getList($params,$this->getSupplierId());
  21. //重要数字
  22. $num_arr = $model->groupCount($params,$this->getSupplierId());
  23. $arr = [];
  24. foreach ($num_arr as $key => $val) {
  25. $k = $val['status']['value'];
  26. $arr[$k] = $val;
  27. }
  28. return $this->renderSuccess('', compact('list', 'arr'));
  29. }
  30. /**
  31. * 售后单详情
  32. */
  33. public function detail($order_refund_id)
  34. {
  35. // 售后单详情
  36. $detail = OrderRefundModel::detail($order_refund_id);
  37. if (isset($detail['send_time']) && $detail['send_time'] > 0) {
  38. $detail['send_time'] = date('Y-m-d H:i:s', $detail['send_time']);
  39. }
  40. // 订单详情
  41. $order = OrderModel::detail($detail['order_id']);
  42. // 退货地址
  43. $address = (new ReturnAddressModel)->getAll($this->getSupplierId());
  44. return $this->renderSuccess('', compact('detail', 'order', 'address'));
  45. }
  46. /**
  47. * 商家审核
  48. */
  49. public function audit($order_refund_id)
  50. {
  51. $model = OrderRefundModel::detail($order_refund_id);
  52. if ($model->audit($this->postData())) {
  53. return $this->renderSuccess('操作成功');
  54. }
  55. return $this->renderError($model->getError() ?: '操作失败');
  56. }
  57. /**
  58. * 确认收货并退款
  59. */
  60. public function receipt($order_refund_id)
  61. {
  62. if (!$this->request->isPost()) {
  63. return false;
  64. }
  65. $model = OrderRefundModel::detail($order_refund_id);
  66. if ($model->receipt($this->postData())) {
  67. return $this->renderSuccess('操作成功');
  68. }
  69. return $this->renderError($model->getError() ?: '操作失败');
  70. }
  71. }