diff --git a/app/Admin/Controllers/DrawActivityController.php b/app/Admin/Controllers/Draw/DrawActivityController.php similarity index 99% rename from app/Admin/Controllers/DrawActivityController.php rename to app/Admin/Controllers/Draw/DrawActivityController.php index 90e180d7..37a11e62 100644 --- a/app/Admin/Controllers/DrawActivityController.php +++ b/app/Admin/Controllers/Draw/DrawActivityController.php @@ -1,6 +1,6 @@ get('api/store', 'Store\StoreController@list')->name('api.store'); // 抽奖管理 - $router->resource('draw-prizes', 'DrawPrizeController')->names('draw_prizes'); - $router->resource('draw-activities', 'DrawActivityController')->names('draw_activities'); - $router->get('draw-activities/{draw_activity}/prizes/create', 'DrawActivityPrizeController@create')->name('draw_activities.prize_create'); - $router->post('draw-activities/{draw_activity}/prizes', 'DrawActivityPrizeController@store')->name('draw_activities.prize_store'); - $router->get('draw-activities/{draw_activity}/prizes/{prize}/edit', 'DrawActivityPrizeController@edit')->name('draw_activities.prize_edit'); - $router->put('draw-activities/{draw_activity}/prizes/{prize}', 'DrawActivityPrizeController@update')->name('draw_activities.prize_update'); - $router->delete('draw-activities/{draw_activity}/prizes/{prize}', 'DrawActivityPrizeController@destroy')->name('draw_activities.prize_delete'); - $router->get('draw-activities/{draw_activity}/tickets', 'DrawActivityController@show')->name('draw_activities.ticket_list'); - $router->get('draw-activities/{draw_activity}/logs', 'DrawActivityController@show')->name('draw_activities.log_list'); - $router->put('draw-activities/{draw_activity}/logs/{log}', 'DrawLogController@update')->name('draw_activities.log_update'); - $router->get('draw-activities/{draw_activity}/logs/{log}/edit', 'DrawLogController@edit')->name('draw_activities.log_edit'); + $router->resource('draw-prizes', 'Draw\DrawPrizeController')->names('draw_prizes'); + $router->resource('draw-activities', 'Draw\DrawActivityController')->names('draw_activities'); + $router->get('draw-activities/{draw_activity}/prizes/create', 'Draw\DrawActivityPrizeController@create')->name('draw_activities.prize_create'); + $router->post('draw-activities/{draw_activity}/prizes', 'Draw\DrawActivityPrizeController@store')->name('draw_activities.prize_store'); + $router->get('draw-activities/{draw_activity}/prizes/{prize}/edit', 'Draw\DrawActivityPrizeController@edit')->name('draw_activities.prize_edit'); + $router->put('draw-activities/{draw_activity}/prizes/{prize}', 'Draw\DrawActivityPrizeController@update')->name('draw_activities.prize_update'); + $router->delete('draw-activities/{draw_activity}/prizes/{prize}', 'Draw\DrawActivityPrizeController@destroy')->name('draw_activities.prize_delete'); + $router->get('draw-activities/{draw_activity}/tickets', 'Draw\DrawActivityController@show')->name('draw_activities.ticket_list'); + $router->get('draw-activities/{draw_activity}/logs', 'Draw\DrawActivityController@show')->name('draw_activities.log_list'); + $router->put('draw-activities/{draw_activity}/logs/{log}', 'Draw\DrawLogController@update')->name('draw_activities.log_update'); + $router->get('draw-activities/{draw_activity}/logs/{log}/edit', 'Draw\DrawLogController@edit')->name('draw_activities.log_edit'); /** 调试接口 **/ // $router->get('test', 'HomeController@test'); diff --git a/app/Enums/DrawPrizeType.php b/app/Enums/DrawPrizeType.php index 3d4d7132..26abbdd0 100644 --- a/app/Enums/DrawPrizeType.php +++ b/app/Enums/DrawPrizeType.php @@ -7,9 +7,9 @@ use Dcat\Admin\Admin; enum DrawPrizeType: int { case None = 0; case Goods = 1; - case Wallet = 2; - case Balance = 3; - case Point = 4; + // case Wallet = 2; + // case Balance = 3; + // case Point = 4; case Money = 5; public function label() @@ -17,9 +17,9 @@ enum DrawPrizeType: int { $color = match ($this) { static::None => 'warning', static::Goods => 'primary', - static::Wallet => 'blue1', - static::Balance => 'pink', - static::Point => 'success', + // static::Wallet => 'blue1', + // static::Balance => 'pink', + // static::Point => 'success', static::Money => 'danger', }; @@ -35,9 +35,9 @@ enum DrawPrizeType: int { return [ self::None->value => '谢谢参与', self::Goods->value => '实物', - self::Wallet->value => '可提', - self::Balance->value => '余额', - self::Point->value => '积分', + // self::Wallet->value => '可提', + // self::Balance->value => '余额', + // self::Point->value => '积分', self::Money->value => '现金', ]; } diff --git a/app/Models/ProductSku.php b/app/Models/ProductSku.php index 194b3214..92559908 100644 --- a/app/Models/ProductSku.php +++ b/app/Models/ProductSku.php @@ -159,11 +159,13 @@ class ProductSku extends Model */ public function getSaleableStockAttribute(): int { - if ($this->isOnline()) { - return $this->attributes['stock']; - } + // 因预售商品功能, 所以这里直接返回 + return 1000000; + // if ($this->isOnline()) { + // return $this->attributes['stock']; + // } - return 0; + // return 0; } /** diff --git a/app/Services/DrawActivityService.php b/app/Services/DrawActivityService.php index e124dd69..7ce8a5be 100644 --- a/app/Services/DrawActivityService.php +++ b/app/Services/DrawActivityService.php @@ -54,7 +54,6 @@ class DrawActivityService 'draw_activity_prize_id' => $prize->id, 'status' => match ($prize->type) { DrawPrizeType::None => DrawLogStatus::Completed, - DrawPrizeType::Wallet, DrawPrizeType::Balance, DrawPrizeType::Point => DrawLogStatus::Queuing, default => DrawLogStatus::Pending, }, ]); diff --git a/app/Services/OrderService.php b/app/Services/OrderService.php index 81a37c5a..96081571 100644 --- a/app/Services/OrderService.php +++ b/app/Services/OrderService.php @@ -170,7 +170,7 @@ class OrderService /** * 添加店铺订单 - * + * */ public function createOrderByPre(User $user, OrderPre $order_pre) { @@ -191,7 +191,7 @@ class OrderService if ($coupon_id) { $coupon = $user->coupons()->onlyAvailable()->lockForUpdate()->findOrFail($coupon_id); } - + $mapProducts = $this->mapProducts($user, $products, $coupon); list( @@ -248,7 +248,7 @@ class OrderService * @param \App\Models\UserCoupon $coupon 使用的优惠券 * @param \App\Models\BargainOrder 砍价订单 * @param array 商品列表 - * + * * @return \App\Models\Order */ protected function storeOrder( @@ -384,10 +384,10 @@ class OrderService */ protected function deductProduct(ProductSku $sku, int $qty) { - // 扣商品库存 $sku->update([ 'sales' => DB::Raw("sales + {$qty}"), - 'stock' => DB::raw("stock - {$qty}"), // 库存 + // 扣商品库存 + // 'stock' => DB::raw("stock - {$qty}"), ]); $sku->spu?->increment('sales', $qty); @@ -1189,12 +1189,12 @@ class OrderService // 返还店铺库存 } else { $products = $order->products()->get(); - + foreach ($products->load(['sku', 'spu']) as $product) { if ($product->sku === null) { continue; } - + // 如果商品不是赠品,则直接增加商品库存 if (! $product->isGift()) { $product->spu?->increment('sales', -$product->quantity); @@ -1204,17 +1204,17 @@ class OrderService ]); continue; } - + //原赠品 if ($product->gift_for_sku_id) { $gift = ProductGift::where('sku_id', $product->gift_for_sku_id) ->where('gift_sku_id', $product->sku_id) ->first(); - + if ($gift === null) { continue; } - + if ($gift->isLimit()) { $gift->update([ 'remaining' => DB::raw("remaining+{$product->quantity}"),