Refund.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\presale\api\controller;
  13. use addon\presale\model\PresaleOrder;
  14. use addon\presale\model\PresaleOrderRefund;
  15. use app\api\controller\BaseApi;
  16. /**
  17. * 预售订单退款
  18. */
  19. class Refund extends BaseApi
  20. {
  21. /**
  22. * 订单列表
  23. * @return false|string
  24. */
  25. public function page()
  26. {
  27. $token = $this->checkToken();
  28. if ($token['code'] < 0) return $this->response($token);
  29. $page = isset($this->params[ 'page' ]) ? $this->params[ 'page' ] : 1;
  30. $page_size = isset($this->params[ 'page_size' ]) ? $this->params[ 'page_size' ] : PAGE_LIST_ROWS;
  31. $condition = [
  32. ['site_id', '=', $this->site_id],
  33. ['member_id','=',$this->member_id],
  34. ];
  35. $refund_status = isset($this->params[ 'refund_status' ]) ? $this->params[ 'refund_status' ] : 0;
  36. if($refund_status){
  37. $condition[] = ['refund_status','=',$refund_status];
  38. }else{
  39. $condition[] = ['refund_status','<>',0];
  40. }
  41. $presale_order_model = new PresaleOrder();
  42. $list = $presale_order_model->getPresaleOrderPageList($condition, $page, $page_size);
  43. return $this->response($list);
  44. }
  45. /**
  46. * 订单详情
  47. */
  48. public function detail()
  49. {
  50. $token = $this->checkToken();
  51. if ($token['code'] < 0) return $this->response($token);
  52. $id = isset($this->params[ 'order_id' ]) ? $this->params[ 'order_id' ] : 0;
  53. if (empty($id)) {
  54. return $this->response($this->error('', '缺少必须参数order_id'));
  55. }
  56. $presale_order_model = new PresaleOrder();
  57. $condition = [
  58. ['id', '=', $id],
  59. ['member_id', '=', $this->member_id],
  60. ];
  61. $order_info = $presale_order_model->getPresaleOrderInfo($condition);
  62. return $this->response($order_info);
  63. }
  64. /**
  65. * 申请退款(定金)
  66. * @return false|string
  67. */
  68. public function applyRefund()
  69. {
  70. $token = $this->checkToken();
  71. if ($token['code'] < 0) return $this->response($token);
  72. $id = isset($this->params[ 'order_id' ]) ? $this->params[ 'order_id' ] : 0;
  73. if (empty($id)) {
  74. return $this->response($this->error('', '缺少必须参数order_id'));
  75. }
  76. $data = [
  77. 'id' => $id,
  78. 'site_id' => $this->site_id,
  79. 'member_id' => $this->member_id
  80. ];
  81. $presale_order_refund_model = new PresaleOrderRefund();
  82. $res = $presale_order_refund_model -> applyRefund($data);
  83. return $this->response($res);
  84. }
  85. /**
  86. * 取消申请退款
  87. */
  88. public function cancelRefund()
  89. {
  90. $token = $this->checkToken();
  91. if ($token['code'] < 0) return $this->response($token);
  92. $id = isset($this->params[ 'order_id' ]) ? $this->params[ 'order_id' ] : 0;
  93. if (empty($id)) {
  94. return $this->response($this->error('', '缺少必须参数order_id'));
  95. }
  96. $condition = [
  97. ['id', '=', $id],
  98. ['member_id', '=', $this->member_id]
  99. ];
  100. $presale_order_refund_model = new PresaleOrderRefund();
  101. $res = $presale_order_refund_model -> cancelRefund($condition);
  102. return $this->response($res);
  103. }
  104. }