阶段更新

This commit is contained in:
2023-03-09 11:54:13 +08:00
parent e78454540f
commit 3cd75b1d6e
47 changed files with 4844 additions and 1646 deletions

View File

@@ -8,11 +8,13 @@ use App\Traits\OrderByOrderAsc;
use GeneaLabs\LaravelModelCaching\Traits\Cachable;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Support\Arr;
use Modules\User\Models\Traits\HasIdentityScopes;
class Identity extends Model
{
// use Cachable;
use Cachable;
use HasCovers,
HasIdentityScopes,
OrderByOrderAsc,
@@ -40,28 +42,17 @@ class Identity extends Model
self::CHANNEL_OFFLINE => '线下'
];
const EXPERIENCE_YES = 1;
const EXPERIENCE_NO = 0;
const EXPERIENCES = [
self::EXPERIENCE_YES => '是',
self::EXPERIENCE_NO => '否'
];
const JOB_YK = 0;
const JOB_TY = 1;
const JOB_JK = 2;
const JOB_NK = 3;
const JOB_CS = 4;
const JOB_HH = 5;
const JOBS = [
self::JOB_YK => '游客',
self::JOB_TY => '体验官',
self::JOB_JK => '季卡',
self::JOB_NK => '年卡',
self::JOB_CS => '创始',
self::JOB_HH => '合伙人',
const JOB_VISITOR = 0;
const JOB_FREE_VIP = 1;
const JOB_YK = 2;
const JOB_JK = 3;
const JOB_NK = 4;
const JOBS = [
self::JOB_VISITOR => '游客',
self::JOB_FREE_VIP => '免费会员',
self::JOB_YK => '月卡',
self::JOB_JK => '季卡',
self::JOB_NK => '年卡',
];
protected $table = 'user_identities';
@@ -148,21 +139,16 @@ class Identity extends Model
$rules = $this->rules;
if ($this->job == Identity::JOB_JK) {
return [
'give_crystal' => [
'give_crystal' => [
'cover' => $this->getRuleIcon('give_crystal'),
'value' => $this->getRule('give_crystal'),
'text' => '赠送水滴'
],
'recommend_coupon' => [
'cover' => $this->getRuleIcon('recommend_coupon'),
'value' => $this->getRule('recommend_coupon'),
'text' => '赠送抵值券'
],
'stock' => [
'stock' => [
'value' => $this->stock,
'text' => "赠送{$this->stock}箱水"
],
'year' => [
'year' => [
'value' => $this->years,
'text' => $this->years."个月有效期"
],

View File

@@ -9,7 +9,7 @@ use Modules\User\Traits\BelongsToUser;
class IdentityMiddle extends Pivot
{
use BelongsToUser, MorphManyTimeline;
use BelongsToUser;
protected $table = 'user_identity';
protected $primaryKey = 'user_id';
@@ -21,11 +21,7 @@ class IdentityMiddle extends Pivot
{
parent::boot();
self::created(function ($identity) {
if ($identity->identity->order > 1) {
$identity->addTimeline();
}
});
}
public function identity(): BelongsTo

View File

@@ -5,6 +5,7 @@ namespace Modules\User\Models;
use App\Models\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Modules\Payment\Traits\WithPayments;
use Modules\User\Events\UserOrderPaid;
use Modules\User\Models\Traits\OrderActions;
use Modules\User\Traits\BelongsToUser;

View File

@@ -30,14 +30,14 @@ class Sign extends Model
{
parent::boot();
self::saved(function ($sign) {
$params = SignConfig::getParams();
if ($params['open'] == 1 && $sign->need_case == 0 && $sign->continue_days >= $params['cycle_day']) {
$sign->update(['need_case' => 1, 'is_finish' => 1]);
}
});
// self::saved(function ($sign) {
// $params = SignConfig::getParams();
//
// if ($params['open'] == 1 && $sign->need_case == 0 && $sign->continue_days >= $params['cycle_day']) {
// $sign->update(['need_case' => 1, 'is_finish' => 1]);
// }
//
// });
}
/**

View File

@@ -9,16 +9,29 @@ trait HasIdentityScopes
{
/**
* Notes: 体验官
* Notes: 免费会员
*
* @Author: 玄尘
* @Date: 2022/8/18 15:25
* @param Builder $query
* @return Builder
*/
public function scopeTy(Builder $query): Builder
public function scopeFreeVip(Builder $query): Builder
{
return $query->where('job', Identity::JOB_TY);
return $query->where('job', Identity::JOB_FREE_VIP);
}
/**
* Notes: 月卡
*
* @Author: 玄尘
* @Date: 2022/8/18 15:25
* @param Builder $query
* @return Builder
*/
public function scopeYk(Builder $query): Builder
{
return $query->where('job', Identity::JOB_YK);
}
/**
@@ -47,31 +60,4 @@ trait HasIdentityScopes
return $query->where('job', Identity::JOB_NK);
}
/**
* Notes: 创始
*
* @Author: 玄尘
* @Date: 2022/8/18 15:27
* @param Builder $query
* @return Builder
*/
public function scopeCs(Builder $query): Builder
{
return $query->where('job', Identity::JOB_CS);
}
/**
* Notes: 合伙人
*
* @Author: 玄尘
* @Date: 2022/8/18 15:27
* @param Builder $query
* @return Builder
*/
public function scopeHh(Builder $query): Builder
{
return $query->where('job', Identity::JOB_HH);
}
}

View File

@@ -46,9 +46,6 @@ trait HasStock
{
$identity = $this->identityFirst();
$min = 1;
if ($identity->job == Identity::JOB_TY) {
$min = $identity->stock;
}
$deliver = OrderItem::query()
->whereHas('order', function ($q) {

View File

@@ -12,17 +12,13 @@ use Illuminate\Foundation\Auth\User as Authenticate;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Config;
use Laravel\Sanctum\HasApiTokens;
use Modules\Coupon\Traits\UserHasCoupon;
use Modules\Mall\Traits\HasAddresses;
use Modules\Mall\Traits\HasOrders;
use Modules\Task\Traits\HasTasks;
use Modules\User\Models\Traits\HasChannel;
use Modules\User\Models\Traits\HasInvite;
use Modules\User\Models\Traits\HasLog;
use Modules\User\Models\Traits\HasStock;
use Modules\User\Models\Traits\HasVipOrders;
use Modules\User\Models\Traits\HasWechat;
use Modules\Withdraw\Traits\HasWithdraws;
use Modules\User\Models\Order as UserOrder;
use Overtrue\LaravelFavorite\Traits\Favoriter;
use Overtrue\LaravelSubscribe\Traits\Subscriber;
@@ -37,13 +33,9 @@ class User extends Authenticate
Macroable,
HasStock,
HasLog,
HasGout,
HasWithdraws,
HasOrders,
HasVipOrders,
HasWechat,
HasInvite,
HasAddresses,
Notifiable,
HasTasks,
@@ -57,7 +49,7 @@ class User extends Authenticate
const STATUS_INIT = 1;
const STATUS_REFUND = 2;
const STATUS = [
const STATUS = [
self::STATUS_INIT => '正常',
self::STATUS_REFUND => '退费',
];