|
@@ -85,6 +85,12 @@ class Aftersale extends Common
|
|
$content = $params['content'] ?? '';
|
|
$content = $params['content'] ?? '';
|
|
$images = $params['images'] ? json_decode(htmlspecialchars_decode($params['images']),true) : [];
|
|
$images = $params['images'] ? json_decode(htmlspecialchars_decode($params['images']),true) : [];
|
|
|
|
|
|
|
|
+ //申请退款金额
|
|
|
|
+ $refund_money = round(floatval($params['apply_refund_price']), 2);
|
|
|
|
+ if ($refund_money <= 0) {
|
|
|
|
+ $this->error('请输入正确的退款金额');
|
|
|
|
+ }
|
|
|
|
+
|
|
//寄回信息
|
|
//寄回信息
|
|
/*$express_id = $params['express_id'] ?? 0;
|
|
/*$express_id = $params['express_id'] ?? 0;
|
|
$express_no = $params['express_no'] ?? '';
|
|
$express_no = $params['express_no'] ?? '';
|
|
@@ -119,6 +125,24 @@ class Aftersale extends Common
|
|
error_stop('当前订单商品不可申请售后');
|
|
error_stop('当前订单商品不可申请售后');
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //apply_refund_price 限制金额
|
|
|
|
+ $ordernew = OrderModel::withTrashed()->with('items')->find($order_id);
|
|
|
|
+ if (!$ordernew) {
|
|
|
|
+ $this->error('订单不存在');
|
|
|
|
+ }
|
|
|
|
+ $items = $ordernew->items;
|
|
|
|
+ $items = array_column($items, null, 'id');
|
|
|
|
+
|
|
|
|
+ // 当前订单已退款总金额
|
|
|
|
+ $refunded_money = array_sum(array_column($items, 'refund_fee'));
|
|
|
|
+ // 剩余可退款金额
|
|
|
|
+ $refund_surplus_money = bcsub($order->pay_fee, (string)$refunded_money, 2);
|
|
|
|
+ // 如果退款金额大于订单支付总金额
|
|
|
|
+ if (bccomp((string)$refund_money, $refund_surplus_money, 2) === 1) {
|
|
|
|
+ $this->error('退款总金额不能大于实际支付金额');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
$aftersale = new AftersaleModel();
|
|
$aftersale = new AftersaleModel();
|
|
$aftersale->aftersale_sn = get_sn($user->id, 'A');
|
|
$aftersale->aftersale_sn = get_sn($user->id, 'A');
|
|
$aftersale->user_id = $user->id;
|
|
$aftersale->user_id = $user->id;
|
|
@@ -141,6 +165,7 @@ class Aftersale extends Common
|
|
$aftersale->dispatch_fee = $item['dispatch_fee'];
|
|
$aftersale->dispatch_fee = $item['dispatch_fee'];
|
|
$aftersale->aftersale_status = AftersaleModel::AFTERSALE_STATUS_NOOPER; // 未处理
|
|
$aftersale->aftersale_status = AftersaleModel::AFTERSALE_STATUS_NOOPER; // 未处理
|
|
$aftersale->refund_status = AftersaleModel::REFUND_STATUS_NOREFUND; // 未退款
|
|
$aftersale->refund_status = AftersaleModel::REFUND_STATUS_NOREFUND; // 未退款
|
|
|
|
+ $aftersale->apply_refund_price = $refund_money;
|
|
$aftersale->refund_fee = 0;
|
|
$aftersale->refund_fee = 0;
|
|
$aftersale->reason = $reason;
|
|
$aftersale->reason = $reason;
|
|
$aftersale->content = $content;
|
|
$aftersale->content = $content;
|
|
@@ -174,6 +199,13 @@ class Aftersale extends Common
|
|
$this->success('申请成功', $aftersale);
|
|
$this->success('申请成功', $aftersale);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //售后寄回
|
|
|
|
+ public function send(){
|
|
|
|
+ $user = auth_user();
|
|
|
|
+ $params = $this->request->param();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
//取消售后
|
|
//取消售后
|
|
public function cancel()
|
|
public function cancel()
|
|
{
|
|
{
|