Orderrefund.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\store\shopapi\controller;
  13. use app\model\order\OrderRefund as OrderRefundModel;
  14. /**
  15. * 退款维权控制器
  16. * Class OrderRefund
  17. * @package addon\shop\siteapi\controller
  18. */
  19. class Orderrefund extends BaseStoreApi
  20. {
  21. /**
  22. * 维权订单列表
  23. * @return mixed
  24. */
  25. public function lists()
  26. {
  27. $refund_status = $this->params[ 'refund_status' ] ?? '';//退款状态
  28. $sku_name = $this->params[ 'sku_name' ] ?? '';//商品名称
  29. $refund_type = $this->params[ 'refund_type' ] ?? '';//退款方式
  30. $start_time = $this->params[ 'start_time' ] ?? '0';//开始时间
  31. $end_time = $this->params[ 'end_time' ] ?? '0';//结束时间
  32. $order_no = $this->params[ 'order_no' ] ?? '';//订单编号
  33. $refund_no = $this->params[ 'refund_no' ] ?? '';//退款编号
  34. $refund_delivery_no = $this->params[ 'refund_delivery_no' ] ?? '';//退款物流编号
  35. $order_refund_model = new OrderRefundModel();
  36. $page_index = input('page', 1);
  37. $page_size = input('page_size', PAGE_LIST_ROWS);
  38. $condition = [
  39. [ 'or.site_id', '=', $this->site_id ]
  40. ];
  41. //退款状态
  42. if ($refund_status != '') {
  43. $condition[] = [ 'or.refund_status', '=', $refund_status ];
  44. }
  45. //商品名称
  46. if ($sku_name != '') {
  47. $condition[] = [ 'og.sku_name', 'like', '%$sku_name%' ];
  48. }
  49. //退款方式
  50. if ($refund_type != '') {
  51. $condition[] = [ 'or.refund_type', '=', $refund_type ];
  52. }
  53. //退款编号
  54. if ($refund_no != '') {
  55. $condition[] = [ 'or.refund_no', 'like', '%$refund_no%' ];
  56. }
  57. //订单编号
  58. if ($order_no != '') {
  59. $condition[] = [ 'og.order_no', 'like', '%$order_no%' ];
  60. }
  61. //退款物流编号
  62. if ($refund_delivery_no != '') {
  63. $condition[] = [ 'or.refund_delivery_no', 'like', "%$refund_delivery_no%" ];
  64. }
  65. if (!empty($start_time) && empty($end_time)) {
  66. $condition[] = [ 'or.refund_apply_time', '>=', date_to_time($start_time) ];
  67. } elseif (empty($start_time) && !empty($end_time)) {
  68. $condition[] = [ 'or.refund_apply_time', '<=', date_to_time($end_time) ];
  69. } elseif (!empty($start_time) && !empty($end_time)) {
  70. $condition[] = [ 'or.refund_apply_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
  71. }
  72. $field = 'or.*,o.order_no,order_status,o.order_money,o.trade_type,og.goods_name,og.goods_name,og.num,og.goods_image,og.price';
  73. $list = $order_refund_model->getRefundOrderGoodsPageList($condition, $field, 'or.refund_apply_time desc', $page_index, $page_size);
  74. return $this->response($list);
  75. }
  76. /**
  77. * 维权订单详情
  78. * @return mixed
  79. */
  80. public function detail()
  81. {
  82. $order_goods_id = $this->params[ 'order_goods_id' ] ?? 0;
  83. $refund_no = $this->params[ 'refund_no' ] ?? '';
  84. //维权订单项信息
  85. $order_refund_model = new OrderRefundModel();
  86. $refund_params = [
  87. 'order_goods_id' => $order_goods_id,
  88. 'site_id' => $this->site_id,
  89. 'refund_no' => $refund_no
  90. ];
  91. $detail = $order_refund_model->getRefundDetail($refund_params)[ 'data' ] ?? [];
  92. return $this->response($detail);
  93. }
  94. /**
  95. * 获取退款详情
  96. * @return false|string
  97. */
  98. public function getRefundInfo()
  99. {
  100. $refund_no = $this->params[ 'refund_no' ] ?? '';
  101. //维权订单项信息
  102. $order_refund_model = new OrderRefundModel();
  103. $refund_params = [
  104. 'refund_no' => $refund_no,
  105. 'site_id' => $this->site_id
  106. ];
  107. $result = $order_refund_model->getRefundDetail($refund_params);
  108. return $this->response($result);
  109. }
  110. /**
  111. * 维权拒绝
  112. * @return mixed
  113. */
  114. public function refuse()
  115. {
  116. $refund_no = $this->params[ 'refund_no' ] ?? '';
  117. $refund_refuse_reason = $this->params[ 'refund_refuse_reason' ] ?? '';
  118. $order_refund_model = new OrderRefundModel();
  119. $params = array (
  120. 'refund_no' => $refund_no,
  121. 'refund_refuse_reason' => $refund_refuse_reason,
  122. 'uid' => $this->user_info[ 'uid' ],
  123. 'site_id' => $this->site_id
  124. );
  125. $res = $order_refund_model->refuse($params);
  126. return $this->response($res);
  127. }
  128. /**
  129. * 维权同意
  130. * @return mixed
  131. */
  132. public function agree()
  133. {
  134. $refund_no = $this->params[ 'refund_no' ] ?? '';
  135. $order_refund_model = new OrderRefundModel();
  136. $params = array (
  137. 'refund_no' => $refund_no,
  138. 'uid' => $this->user_info[ 'uid' ],
  139. 'site_id' => $this->site_id
  140. );
  141. $res = $order_refund_model->agree($params);
  142. return $this->response($res);
  143. }
  144. /**
  145. * 退款退货拒绝
  146. * @return mixed
  147. */
  148. public function refuseRefundGoods()
  149. {
  150. $refund_no = $this->params[ 'refund_no' ] ?? '';
  151. $refund_refuse_reason = $this->params[ 'refund_refuse_reason' ] ?? '';
  152. $order_refund_model = new OrderRefundModel();
  153. $params = array (
  154. 'refund_no' => $refund_no,
  155. 'refund_refuse_reason' => $refund_refuse_reason,
  156. 'uid' => $this->user_info[ 'uid' ],
  157. 'site_id' => $this->site_id
  158. );
  159. $res = $order_refund_model->refuseRefundGoods($params);
  160. return $this->response($res);
  161. }
  162. /**
  163. * 维权收货
  164. * @return mixed
  165. */
  166. public function receiveGoods()
  167. {
  168. $refund_no = $this->params[ 'refund_no' ] ?? '';
  169. $order_refund_model = new OrderRefundModel();
  170. $params = array (
  171. 'refund_no' => $refund_no,
  172. 'uid' => $this->user_info[ 'uid' ],
  173. 'site_id' => $this->site_id
  174. );
  175. $res = $order_refund_model->receiveGoods($params);
  176. return $this->response($res);
  177. }
  178. /**
  179. * 维权通过
  180. * @return mixed
  181. */
  182. public function complete()
  183. {
  184. $refund_no = $this->params[ 'refund_no' ] ?? '';
  185. $order_refund_model = new OrderRefundModel();
  186. $params = array (
  187. 'refund_no' => $refund_no,
  188. 'uid' => $this->uid,
  189. 'site_id' => $this->site_id
  190. );
  191. $res = $order_refund_model->complete($params);
  192. return $this->response($res);
  193. }
  194. /**
  195. * 留言
  196. * @return false|string
  197. */
  198. public function message()
  199. {
  200. $refund_no = $this->params[ 'refund_no' ] ?? '';
  201. $message = $this->params[ 'message' ] ?? '';//留言
  202. $message_images = $this->params[ 'message_images' ] ?? '';
  203. $order_refund_model = new OrderRefundModel();
  204. $params = array (
  205. 'refund_no' => $refund_no,
  206. 'uid' => $this->user_info[ 'uid' ],
  207. 'site_id' => $this->site_id,
  208. 'message' => $message,
  209. 'message_images' => $message_images
  210. );
  211. $res = $order_refund_model->refundMessage($params);
  212. return $this->response($res);
  213. }
  214. }