first
This commit is contained in:
22
modules/Mall/Traits/HasAddresses.php
Normal file
22
modules/Mall/Traits/HasAddresses.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
22
modules/Mall/Traits/HasCart.php
Normal file
22
modules/Mall/Traits/HasCart.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
53
modules/Mall/Traits/HasOrders.php
Normal file
53
modules/Mall/Traits/HasOrders.php
Normal 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 '不可提货';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
22
modules/Mall/Traits/HasShop.php
Normal file
22
modules/Mall/Traits/HasShop.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
48
modules/Mall/Traits/WithWorkflow.php
Normal file
48
modules/Mall/Traits/WithWorkflow.php
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user