调整下单
This commit is contained in:
@@ -50,22 +50,9 @@ class OrderBuyController extends Controller
|
||||
$goods_sku_id = $request->goods_sku_id;
|
||||
$qty = $request->qty;
|
||||
|
||||
$detail = collect();
|
||||
$user = Api::user();
|
||||
$areaCode = $user->info->areaCode;
|
||||
if (! $areaCode) {
|
||||
return $this->failed('您没有提货码不可参与此活动');
|
||||
}
|
||||
if ($areaCode->status != AreaCode::STATUS_INIT) {
|
||||
return $this->failed('提货码已被使用,不可重复使用');
|
||||
}
|
||||
$detail = collect();
|
||||
$user = Api::user();
|
||||
|
||||
// $address_id = $request->address_id;
|
||||
// if ($address_id) {
|
||||
// $address = Address::find($address_id);
|
||||
// } else {
|
||||
// $address = Address::where('user_id', $user->id)->orderBy('is_default', 'desc')->first();
|
||||
// }
|
||||
|
||||
$goods_sku = GoodsSku::find($goods_sku_id);
|
||||
|
||||
@@ -77,9 +64,35 @@ class OrderBuyController extends Controller
|
||||
return $this->failed($goods_sku->getGoodsName().'商品不可购买');
|
||||
}
|
||||
|
||||
|
||||
$areaCode = $user->info->areaCode;
|
||||
if (! $areaCode) {
|
||||
return $this->failed('您没有提货码不可参与此活动');
|
||||
}
|
||||
if ($areaCode->status != AreaCode::STATUS_INIT) {
|
||||
return $this->failed('提货码已被使用,不可重复使用');
|
||||
}
|
||||
|
||||
$address_id = $request->address_id;
|
||||
if ($address_id) {
|
||||
$address = Address::find($address_id);
|
||||
} else {
|
||||
$address = Address::where('user_id', $user->id)->orderBy('is_default', 'desc')->first();
|
||||
}
|
||||
|
||||
$item = new Item($goods_sku, null, $qty);
|
||||
$detail->push($item);
|
||||
|
||||
|
||||
$type = OrderModel::TYPE_NORMAL;
|
||||
if ($goods_sku->goods->channel == Goods::CHANNEL_FREE) {
|
||||
$type = OrderModel::TYPE_SAMPLE;
|
||||
}
|
||||
|
||||
if ($goods_sku->goods->channel == Goods::CHANNEL_SCORE) {
|
||||
$type = OrderModel::TYPE_SCORE;
|
||||
}
|
||||
|
||||
$freight = $item->freight();
|
||||
$amount = $item->total();
|
||||
$weight = $item->weight();
|
||||
@@ -91,14 +104,21 @@ class OrderBuyController extends Controller
|
||||
}
|
||||
|
||||
$data = [
|
||||
'areaCode' => new AreaCodeResource($areaCode),
|
||||
'detail' => $items,
|
||||
'amount' => floatval(bcadd($amount, $freight, 2)),
|
||||
'freight' => $freight,
|
||||
'weight' => $weight,
|
||||
'user' => $user ? new UserBaseResource($user) : '',
|
||||
'detail' => $items,
|
||||
'amount' => floatval(bcadd($amount, $freight, 2)),
|
||||
'freight' => $freight,
|
||||
'weight' => $weight,
|
||||
'user' => $user ? new UserBaseResource($user) : '',
|
||||
];
|
||||
|
||||
if ($type == OrderModel::TYPE_SAMPLE) {
|
||||
$data['areaCode'] = new AreaCodeResource($areaCode);
|
||||
}
|
||||
|
||||
if ($address) {
|
||||
$data['address'] = new AddressResource($address);
|
||||
}
|
||||
|
||||
return $this->success($data);
|
||||
|
||||
}
|
||||
@@ -127,9 +147,9 @@ class OrderBuyController extends Controller
|
||||
return $this->failed($validator->errors()->first());
|
||||
}
|
||||
|
||||
$user = Api::user();
|
||||
$remark = $request->remark ?? '';
|
||||
// $address_id = $request->address_id ?? '';
|
||||
$user = Api::user();
|
||||
$remark = $request->remark ?? '';
|
||||
$address_id = $request->address_id ?? '';
|
||||
$goods_sku_id = $request->goods_sku_id;
|
||||
$qty = $request->qty;
|
||||
$share_user_id = $request->share_user_id ?? 0;
|
||||
@@ -142,10 +162,6 @@ class OrderBuyController extends Controller
|
||||
return $this->failed('提货码已被使用,不可重复使用');
|
||||
}
|
||||
|
||||
// $address = Address::where('user_id', $user->id)->where('id', $address_id)->first();
|
||||
// if (! $address) {
|
||||
// return $this->failed('未找到收货地址');
|
||||
// }
|
||||
|
||||
$detail = collect();
|
||||
|
||||
@@ -171,14 +187,29 @@ class OrderBuyController extends Controller
|
||||
$type = OrderModel::TYPE_SCORE;
|
||||
}
|
||||
|
||||
$address = Address::where('user_id', $user->id)->where('id', $address_id)->first();
|
||||
|
||||
$orders = (new Order)->user($user)
|
||||
->remark($remark)
|
||||
->items($detail)
|
||||
->areaCode($areaCode)
|
||||
->type($type)
|
||||
->source(['share_user_id' => $share_user_id,])
|
||||
->create();
|
||||
if (in_array($type, [OrderModel::TYPE_SCORE, OrderModel::TYPE_NORMAL]) && ! $address) {
|
||||
return $this->failed('未找到收货地址');
|
||||
}
|
||||
|
||||
if ($type == OrderModel::TYPE_SAMPLE) {
|
||||
$orders = (new Order)->user($user)
|
||||
->remark($remark)
|
||||
->items($detail)
|
||||
->areaCode($areaCode)
|
||||
->type($type)
|
||||
->source(['share_user_id' => $share_user_id,])
|
||||
->create();
|
||||
} else {
|
||||
$orders = (new Order)->user($user)
|
||||
->remark($remark)
|
||||
->items($detail)
|
||||
->address($address)
|
||||
->type($type)
|
||||
->source(['share_user_id' => $share_user_id,])
|
||||
->create();
|
||||
}
|
||||
|
||||
foreach ($orders as $order) {
|
||||
if ($type == OrderModel::TYPE_SAMPLE) {
|
||||
|
||||
Reference in New Issue
Block a user