This commit is contained in:
2023-03-08 09:16:04 +08:00
commit e78454540f
1318 changed files with 210569 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
<?php
namespace Modules\Mall\Traits;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Modules\Mall\Models\Address;
trait HasAddresses
{
/**
* Notes : 用户的地址列表
* @Date : 2021/4/19 10:28 上午
* @Author : < Jason.C >
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function addresses(): HasMany
{
return $this->hasMany(Address::class);
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Modules\Mall\Traits;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Modules\Mall\Models\Cart;
trait HasCart
{
/**
* Notes : 用户的购物车
* @Date : 2021/4/19 10:28 上午
* @Author : < Jason.C >
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function carts(): HasMany
{
return $this->hasMany(Cart::class);
}
}

View File

@@ -0,0 +1,53 @@
<?php
namespace Modules\Mall\Traits;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Modules\Gout\Models\GoutCase;
use Modules\Mall\Models\GoodsSku;
use Modules\Mall\Models\Order;
use Modules\Mall\Models\Order as OrderModel;
trait HasOrders
{
/**
* Notes : 用户的订单列表
*
* @Date : 2021/4/19 10:28 上午
* @Author : < Jason.C >
* @return HasMany
*/
public function orders(): HasMany
{
return $this->hasMany(Order::class);
}
/**
* Notes: 是否可以申请提货
*
* @Author: 玄尘
* @Date : 2021/10/22 14:13
* @return bool
*/
public function canPick(): bool
{
return $this->case && $this->case->status == GoutCase::STATUS_PASS &&
$this->identities()->where('order', '>', 1)->count() > 0 &&
$this->userStock->stock > $this->userStock->hold;
}
/**
* Notes: 提货
*
* @Author: 玄尘
* @Date: 2022/7/27 16:18
*/
public function pickGoods()
{
if (! $this->canPick()) {
return '不可提货';
}
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace Modules\Mall\Traits;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Modules\Mall\Models\Shop;
trait HasShop
{
/**
* Notes : 用户的店铺
* @Date : 2021/5/6 3:26 下午
* @Author : < Jason.C >
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function shop(): HasOne
{
return $this->hasOne(Shop::class);
}
}

View File

@@ -0,0 +1,48 @@
<?php
namespace Modules\Mall\Traits;
use Modules\Mall\Facades\Workflow;
trait WithWorkflow
{
/**
* Notes : 执行某一步骤
* @Date : 2021/5/8 5:36 下午
* @Author : < Jason.C >
* @param $transition
* @param null $workflow
* @return mixed
*/
public function apply($transition, $workflow = null)
{
return Workflow::get($this, $workflow)->apply($this, $transition);
}
/**
* Notes : 是否可以执行
* @Date : 2021/5/8 5:36 下午
* @Author : < Jason.C >
* @param $transition
* @param null $workflow
* @return mixed
*/
public function can($transition, $workflow = null)
{
return Workflow::get($this, $workflow)->can($this, $transition);
}
/**
* Notes : 可执行的操作
* @Date : 2021/5/8 5:37 下午
* @Author : < Jason.C >
* @param null $workflow
* @return mixed
*/
public function transitions($workflow = null)
{
return Workflow::get($this, $workflow)->getEnabledTransitions($this);
}
}