238 lines
7.7 KiB
PHP
238 lines
7.7 KiB
PHP
<?php
|
|
/**
|
|
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.gobuysaas.com
|
|
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
|
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace addon\store\shopapi\controller;
|
|
|
|
|
|
use app\model\order\OrderRefund as OrderRefundModel;
|
|
|
|
|
|
/**
|
|
* 退款维权控制器
|
|
* Class OrderRefund
|
|
* @package addon\shop\siteapi\controller
|
|
*/
|
|
class Orderrefund extends BaseStoreApi
|
|
{
|
|
/**
|
|
* 维权订单列表
|
|
* @return mixed
|
|
*/
|
|
public function lists()
|
|
{
|
|
$refund_status = $this->params[ 'refund_status' ] ?? '';//退款状态
|
|
$sku_name = $this->params[ 'sku_name' ] ?? '';//商品名称
|
|
$refund_type = $this->params[ 'refund_type' ] ?? '';//退款方式
|
|
$start_time = $this->params[ 'start_time' ] ?? '0';//开始时间
|
|
$end_time = $this->params[ 'end_time' ] ?? '0';//结束时间
|
|
$order_no = $this->params[ 'order_no' ] ?? '';//订单编号
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';//退款编号
|
|
|
|
$refund_delivery_no = $this->params[ 'refund_delivery_no' ] ?? '';//退款物流编号
|
|
$order_refund_model = new OrderRefundModel();
|
|
|
|
$page_index = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$condition = [
|
|
[ 'or.site_id', '=', $this->site_id ]
|
|
];
|
|
//退款状态
|
|
if ($refund_status != '') {
|
|
$condition[] = [ 'or.refund_status', '=', $refund_status ];
|
|
}
|
|
|
|
//商品名称
|
|
if ($sku_name != '') {
|
|
$condition[] = [ 'og.sku_name', 'like', '%$sku_name%' ];
|
|
}
|
|
//退款方式
|
|
if ($refund_type != '') {
|
|
$condition[] = [ 'or.refund_type', '=', $refund_type ];
|
|
}
|
|
//退款编号
|
|
if ($refund_no != '') {
|
|
$condition[] = [ 'or.refund_no', 'like', '%$refund_no%' ];
|
|
}
|
|
//订单编号
|
|
if ($order_no != '') {
|
|
$condition[] = [ 'og.order_no', 'like', '%$order_no%' ];
|
|
}
|
|
|
|
//退款物流编号
|
|
if ($refund_delivery_no != '') {
|
|
$condition[] = [ 'or.refund_delivery_no', 'like', "%$refund_delivery_no%" ];
|
|
}
|
|
|
|
if (!empty($start_time) && empty($end_time)) {
|
|
$condition[] = [ 'or.refund_apply_time', '>=', date_to_time($start_time) ];
|
|
} elseif (empty($start_time) && !empty($end_time)) {
|
|
$condition[] = [ 'or.refund_apply_time', '<=', date_to_time($end_time) ];
|
|
} elseif (!empty($start_time) && !empty($end_time)) {
|
|
$condition[] = [ 'or.refund_apply_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
|
|
}
|
|
$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';
|
|
$list = $order_refund_model->getRefundOrderGoodsPageList($condition, $field, 'or.refund_apply_time desc', $page_index, $page_size);
|
|
return $this->response($list);
|
|
|
|
}
|
|
|
|
/**
|
|
* 维权订单详情
|
|
* @return mixed
|
|
*/
|
|
public function detail()
|
|
{
|
|
$order_goods_id = $this->params[ 'order_goods_id' ] ?? 0;
|
|
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
//维权订单项信息
|
|
$order_refund_model = new OrderRefundModel();
|
|
$refund_params = [
|
|
'order_goods_id' => $order_goods_id,
|
|
'site_id' => $this->site_id,
|
|
'refund_no' => $refund_no
|
|
];
|
|
$detail = $order_refund_model->getRefundDetail($refund_params)[ 'data' ] ?? [];
|
|
|
|
return $this->response($detail);
|
|
}
|
|
|
|
/**
|
|
* 获取退款详情
|
|
* @return false|string
|
|
*/
|
|
public function getRefundInfo()
|
|
{
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
//维权订单项信息
|
|
$order_refund_model = new OrderRefundModel();
|
|
$refund_params = [
|
|
'refund_no' => $refund_no,
|
|
'site_id' => $this->site_id
|
|
];
|
|
$result = $order_refund_model->getRefundDetail($refund_params);
|
|
return $this->response($result);
|
|
}
|
|
|
|
/**
|
|
* 维权拒绝
|
|
* @return mixed
|
|
*/
|
|
public function refuse()
|
|
{
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
$refund_refuse_reason = $this->params[ 'refund_refuse_reason' ] ?? '';
|
|
$order_refund_model = new OrderRefundModel();
|
|
$params = array (
|
|
'refund_no' => $refund_no,
|
|
'refund_refuse_reason' => $refund_refuse_reason,
|
|
'uid' => $this->user_info[ 'uid' ],
|
|
'site_id' => $this->site_id
|
|
);
|
|
$res = $order_refund_model->refuse($params);
|
|
return $this->response($res);
|
|
}
|
|
|
|
/**
|
|
* 维权同意
|
|
* @return mixed
|
|
*/
|
|
public function agree()
|
|
{
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
$order_refund_model = new OrderRefundModel();
|
|
$params = array (
|
|
'refund_no' => $refund_no,
|
|
'uid' => $this->user_info[ 'uid' ],
|
|
'site_id' => $this->site_id
|
|
);
|
|
$res = $order_refund_model->agree($params);
|
|
return $this->response($res);
|
|
}
|
|
|
|
/**
|
|
* 退款退货拒绝
|
|
* @return mixed
|
|
*/
|
|
public function refuseRefundGoods()
|
|
{
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
$refund_refuse_reason = $this->params[ 'refund_refuse_reason' ] ?? '';
|
|
$order_refund_model = new OrderRefundModel();
|
|
$params = array (
|
|
'refund_no' => $refund_no,
|
|
'refund_refuse_reason' => $refund_refuse_reason,
|
|
'uid' => $this->user_info[ 'uid' ],
|
|
'site_id' => $this->site_id
|
|
);
|
|
$res = $order_refund_model->refuseRefundGoods($params);
|
|
return $this->response($res);
|
|
}
|
|
|
|
/**
|
|
* 维权收货
|
|
* @return mixed
|
|
*/
|
|
public function receiveGoods()
|
|
{
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
$order_refund_model = new OrderRefundModel();
|
|
$params = array (
|
|
'refund_no' => $refund_no,
|
|
'uid' => $this->user_info[ 'uid' ],
|
|
'site_id' => $this->site_id
|
|
);
|
|
$res = $order_refund_model->receiveGoods($params);
|
|
return $this->response($res);
|
|
}
|
|
|
|
/**
|
|
* 维权通过
|
|
* @return mixed
|
|
*/
|
|
public function complete()
|
|
{
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
$order_refund_model = new OrderRefundModel();
|
|
$params = array (
|
|
'refund_no' => $refund_no,
|
|
'uid' => $this->uid,
|
|
'site_id' => $this->site_id
|
|
);
|
|
$res = $order_refund_model->complete($params);
|
|
return $this->response($res);
|
|
}
|
|
|
|
/**
|
|
* 留言
|
|
* @return false|string
|
|
*/
|
|
public function message()
|
|
{
|
|
|
|
$refund_no = $this->params[ 'refund_no' ] ?? '';
|
|
$message = $this->params[ 'message' ] ?? '';//留言
|
|
$message_images = $this->params[ 'message_images' ] ?? '';
|
|
$order_refund_model = new OrderRefundModel();
|
|
$params = array (
|
|
'refund_no' => $refund_no,
|
|
'uid' => $this->user_info[ 'uid' ],
|
|
'site_id' => $this->site_id,
|
|
'message' => $message,
|
|
'message_images' => $message_images
|
|
);
|
|
$res = $order_refund_model->refundMessage($params);
|
|
return $this->response($res);
|
|
|
|
}
|
|
|
|
} |