6
0
Fork 0

线上商品忽略库存

release
panliang 2022-06-02 10:26:23 +08:00
parent 283f4510e1
commit e489bce3d1
9 changed files with 40 additions and 39 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Admin\Controllers; namespace App\Admin\Controllers\Draw;
use App\Admin\Actions\Grid\DrawActivityClose; use App\Admin\Actions\Grid\DrawActivityClose;
use App\Admin\Actions\Grid\DrawActivityPublish; use App\Admin\Actions\Grid\DrawActivityPublish;

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Admin\Controllers; namespace App\Admin\Controllers\Draw;
use App\Admin\Repositories\DrawActivityPrize as DrawActivityPrizeRepository; use App\Admin\Repositories\DrawActivityPrize as DrawActivityPrizeRepository;
use App\Enums\DrawPrizeType; use App\Enums\DrawPrizeType;

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Admin\Controllers; namespace App\Admin\Controllers\Draw;
use App\Admin\Repositories\DrawLog as DrawLogRepository; use App\Admin\Repositories\DrawLog as DrawLogRepository;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Admin\Controllers; namespace App\Admin\Controllers\Draw;
use App\Admin\Repositories\DrawPrize as DrawPrizeRepository; use App\Admin\Repositories\DrawPrize as DrawPrizeRepository;
use App\Enums\DrawPrizeType; use App\Enums\DrawPrizeType;

View File

@ -170,17 +170,17 @@ Route::group([
$router->get('api/store', 'Store\StoreController@list')->name('api.store'); $router->get('api/store', 'Store\StoreController@list')->name('api.store');
// 抽奖管理 // 抽奖管理
$router->resource('draw-prizes', 'DrawPrizeController')->names('draw_prizes'); $router->resource('draw-prizes', 'Draw\DrawPrizeController')->names('draw_prizes');
$router->resource('draw-activities', 'DrawActivityController')->names('draw_activities'); $router->resource('draw-activities', 'Draw\DrawActivityController')->names('draw_activities');
$router->get('draw-activities/{draw_activity}/prizes/create', 'DrawActivityPrizeController@create')->name('draw_activities.prize_create'); $router->get('draw-activities/{draw_activity}/prizes/create', 'Draw\DrawActivityPrizeController@create')->name('draw_activities.prize_create');
$router->post('draw-activities/{draw_activity}/prizes', 'DrawActivityPrizeController@store')->name('draw_activities.prize_store'); $router->post('draw-activities/{draw_activity}/prizes', 'Draw\DrawActivityPrizeController@store')->name('draw_activities.prize_store');
$router->get('draw-activities/{draw_activity}/prizes/{prize}/edit', 'DrawActivityPrizeController@edit')->name('draw_activities.prize_edit'); $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}', 'DrawActivityPrizeController@update')->name('draw_activities.prize_update'); $router->put('draw-activities/{draw_activity}/prizes/{prize}', 'Draw\DrawActivityPrizeController@update')->name('draw_activities.prize_update');
$router->delete('draw-activities/{draw_activity}/prizes/{prize}', 'DrawActivityPrizeController@destroy')->name('draw_activities.prize_delete'); $router->delete('draw-activities/{draw_activity}/prizes/{prize}', 'Draw\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}/tickets', 'Draw\DrawActivityController@show')->name('draw_activities.ticket_list');
$router->get('draw-activities/{draw_activity}/logs', 'DrawActivityController@show')->name('draw_activities.log_list'); $router->get('draw-activities/{draw_activity}/logs', 'Draw\DrawActivityController@show')->name('draw_activities.log_list');
$router->put('draw-activities/{draw_activity}/logs/{log}', 'DrawLogController@update')->name('draw_activities.log_update'); $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', 'DrawLogController@edit')->name('draw_activities.log_edit'); $router->get('draw-activities/{draw_activity}/logs/{log}/edit', 'Draw\DrawLogController@edit')->name('draw_activities.log_edit');
/** 调试接口 **/ /** 调试接口 **/
// $router->get('test', 'HomeController@test'); // $router->get('test', 'HomeController@test');

View File

@ -7,9 +7,9 @@ use Dcat\Admin\Admin;
enum DrawPrizeType: int { enum DrawPrizeType: int {
case None = 0; case None = 0;
case Goods = 1; case Goods = 1;
case Wallet = 2; // case Wallet = 2;
case Balance = 3; // case Balance = 3;
case Point = 4; // case Point = 4;
case Money = 5; case Money = 5;
public function label() public function label()
@ -17,9 +17,9 @@ enum DrawPrizeType: int {
$color = match ($this) { $color = match ($this) {
static::None => 'warning', static::None => 'warning',
static::Goods => 'primary', static::Goods => 'primary',
static::Wallet => 'blue1', // static::Wallet => 'blue1',
static::Balance => 'pink', // static::Balance => 'pink',
static::Point => 'success', // static::Point => 'success',
static::Money => 'danger', static::Money => 'danger',
}; };
@ -35,9 +35,9 @@ enum DrawPrizeType: int {
return [ return [
self::None->value => '谢谢参与', self::None->value => '谢谢参与',
self::Goods->value => '实物', self::Goods->value => '实物',
self::Wallet->value => '可提', // self::Wallet->value => '可提',
self::Balance->value => '余额', // self::Balance->value => '余额',
self::Point->value => '积分', // self::Point->value => '积分',
self::Money->value => '现金', self::Money->value => '现金',
]; ];
} }

View File

@ -159,11 +159,13 @@ class ProductSku extends Model
*/ */
public function getSaleableStockAttribute(): int public function getSaleableStockAttribute(): int
{ {
if ($this->isOnline()) { // 因预售商品功能, 所以这里直接返回
return $this->attributes['stock']; return 1000000;
} // if ($this->isOnline()) {
// return $this->attributes['stock'];
// }
return 0; // return 0;
} }
/** /**

View File

@ -54,7 +54,6 @@ class DrawActivityService
'draw_activity_prize_id' => $prize->id, 'draw_activity_prize_id' => $prize->id,
'status' => match ($prize->type) { 'status' => match ($prize->type) {
DrawPrizeType::None => DrawLogStatus::Completed, DrawPrizeType::None => DrawLogStatus::Completed,
DrawPrizeType::Wallet, DrawPrizeType::Balance, DrawPrizeType::Point => DrawLogStatus::Queuing,
default => DrawLogStatus::Pending, default => DrawLogStatus::Pending,
}, },
]); ]);

View File

@ -384,10 +384,10 @@ class OrderService
*/ */
protected function deductProduct(ProductSku $sku, int $qty) protected function deductProduct(ProductSku $sku, int $qty)
{ {
// 扣商品库存
$sku->update([ $sku->update([
'sales' => DB::Raw("sales + {$qty}"), 'sales' => DB::Raw("sales + {$qty}"),
'stock' => DB::raw("stock - {$qty}"), // 库存 // 扣商品库存
// 'stock' => DB::raw("stock - {$qty}"),
]); ]);
$sku->spu?->increment('sales', $qty); $sku->spu?->increment('sales', $qty);