Browse Source

代理商产品增加库存,图片域名拼接修改,订单同时判断当前user_id,付定金或首款不允许退款,退款信息增加old_status记录

dev
李可松 4 years ago
parent
commit
85299fcada
  1. 24
      app/Http/Controllers/Api/OrderController.php

24
app/Http/Controllers/Api/OrderController.php

@ -17,6 +17,7 @@ use GuzzleHttp\Exception\GuzzleException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Common\OrderStatus as Status;
use Illuminate\Support\Facades\Storage;
/**
* 订单
@ -111,7 +112,7 @@ class OrderController extends Controller
if (!$ap || !$ap->product) {
$this->error('产品不存在');
}
if ($ap->product->stock < $formData['num']) {
if ($ap->stock < $formData['num'] || $ap->product->stock < $formData['num']) {
$this->error('对不起,库存不足');
}
@ -131,8 +132,10 @@ class OrderController extends Controller
//供应商产品表加销量、减库存
// $ap->product->sale += $formData['num']; TODO 支付成功之后再增加销量
$ap->product->stock -= $formData['num'];
$ap->product->save();
$ap->product->decrement('stock', $formData['num']);
//代理商产品表减库存
$ap->decrement('stock', $formData['num']);
// 存入订单表
$order = Order::query()->create([
@ -187,22 +190,27 @@ class OrderController extends Controller
]);
//去掉图片地址前的域名
$host = env('APP_URL');
$prefix = Storage::disk('public')->url('');
foreach ($formData['pictures'] as &$v) {
$v = str_replace($host, '', $v);
$v = str_replace($prefix, '', $v);
}
//TODO 需要后台处理,然后向微信发起退款申请
$order = Order::find($formData['id']);
if (!in_array($order->status, [Status::PAY_EARNEST, Status::PAID, Status::PAID_RETAINAGE])) {
$order = Order::firstWhere(['id' => $formData['id'], 'user_id' => $this->user_id]);
if (!$order) {
return $this->error('订单不存在');
}
//订金/定金/首付款不允许退款,只有付全款才能申请退款
if (!in_array($order->status, [Status::PAID, Status::PAID_RETAINAGE])) {
return $this->error('当前订单状态不允许退款');
}
$order->status = Status::REFUNDING;
$order->refund_info = [
'desc' => strip_tags($formData['desc']),
'refund_no' => $this->getOrderNo(), //退款单号
'pictures' => $formData['pictures'] ?? [],
'old_status' => $order->status,
];
$order->status = Status::REFUNDING;
$order->save();
return $this->success();

Loading…
Cancel
Save