mivita/app/Models/UserBusiness.php
2023-07-03 10:07:08 +02:00

217 lines
8.5 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use App\User;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
/**
* App\Models\UserBusiness
*
* @property int $id
* @property int $user_id
* @property int $month
* @property int $year
* @property int|null $b_structure_id
* @property int|null $m_level_id
* @property int|null $m_sponsor_id
* @property object|null $sponsor
* @property string|null $m_sponsor_name
* @property string|null $user_level_name
* @property bool $active_account
* @property \Illuminate\Support\Carbon|null $payment_account_date
* @property \Illuminate\Support\Carbon|null $active_date
* @property int|null $m_account
* @property string|null $email
* @property string|null $first_name
* @property string|null $last_name
* @property int|null $sales_volume_points
* @property int|null $sales_volume_points_shop
* @property int|null $sales_volume_points_sum
* @property float|null $sales_volume_total
* @property float|null $sales_volume_total_shop
* @property float|null $sales_volume_total_sum
* @property int|null $margin
* @property int|null $margin_shop
* @property int|null $qual_kp
* @property int|null $qual_pp
* @property int|null $total_pp
* @property int|null $total_qual_pp
* @property string|null $commission_lines_total
* @property float|null $commission_shop_sales
* @property float|null $commission_pp_total
* @property mixed|null $business_lines
* @property mixed|null $user_items
* @property array|null $qual_user_level
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Models\UserBusinessStructure|null $user_business_structure
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness query()
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereActiveAccount($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereActiveDate($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereBStructureId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereBusinessLines($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereCommissionLinesTotal($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereCommissionShopSales($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereCommissionTeamTotal($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereFirstName($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereLastName($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMAccount($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMLevelId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMSponsorId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMSponsorName($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMargin($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMarginShop($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereMonth($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness wherePaymentAccountDate($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereQualKp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereQualTp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereQualUserLevel($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSalesVolumePoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSalesVolumePointsShop($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSalesVolumePointsSum($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSalesVolumeTotal($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSalesVolumeTotalShop($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSalesVolumeTotalSum($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereSponsor($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereTotalQualTp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereTotalTp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereUserItems($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereUserLevelName($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereYear($value)
* @property array|null $next_qual_user_level
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereNextQualUserLevel($value)
* @property-read User $user
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereQualPp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereTotalPp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserBusiness whereTotalQualPp($value)
* @mixin \Eloquent
*/
class UserBusiness extends Model
{
protected $table = 'user_businesses';
protected $casts = [
'user_id' => 'int',
'month' => 'int',
'year' => 'int',
'b_structure_id' => 'int',
'm_level_id' => 'int',
'active_account' => 'bool',
'm_account' => 'int',
'sales_volume_KP_points' => 'int',
'sales_volume_TP_points' => 'int',
'sales_volume_points_shop' => 'int',
'sales_volume_points_KP_sum' => 'int',
'sales_volume_points_TP_sum' => 'int',
'sales_volume_total' => 'float',
'sales_volume_total_shop' => 'float',
'sales_volume_total_sum' => 'float',
'payline_points' => 'int',
'payline_points_qual_kp' => 'int',
'margin' => 'float',
'margin_shop' => 'float',
'qual_kp' => 'int',
'qual_pp' => 'int',
'total_pp' => 'int',
'total_qual_pp' => 'int',
'commission_pp_total' => 'float',
'commission_growth_total' => 'float',
'commission_shop_sales' => 'float',
'qual_user_level' => 'array',
'qual_user_level_next' => 'array',
'next_qual_user_level' => 'array',
'next_can_user_level' => 'array',
'sponsor' => 'object',
'business_lines' => AsArrayObject::class,
'user_items' => AsArrayObject::class,
'version' => 'int',
];
protected $dates = [
'payment_account_date',
'active_date'
];
protected $fillable = [
'user_id',
'month',
'year',
'b_structure_id',
'm_level_id',
'sponsor',
'user_level_name',
'active_account',
'payment_account_date',
'active_date',
'm_account',
'email',
'first_name',
'last_name',
'sales_volume_KP_points',
'sales_volume_TP_points',
'sales_volume_points_shop',
'sales_volume_points_KP_sum',
'sales_volume_points_TP_sum',
'sales_volume_total',
'sales_volume_total_shop',
'sales_volume_total_sum',
'payline_points',
'payline_points_qual_kp',
'margin',
'margin_shop',
'qual_kp',
'qual_pp',
'qual_user_level',
'qual_user_level_next',
'next_qual_user_level',
'next_can_user_level',
'total_pp',
'total_qual_pp',
'commission_shop_sales',
'commission_pp_total',
'commission_growth_total',
'business_lines',
'user_items',
'version',
];
public function user()
{
return $this->belongsTo(User::class);
}
public function user_business_structure()
{
return $this->belongsTo(UserBusinessStructure::class, 'b_structure_id');
}
public function isSave(){
return $this->id !== null ? true : false;
}
public function setPaymentAccountDateAttribute( $value ) {
$this->attributes['payment_account_date'] = isset($value) ? (new Carbon($value))->format('Y-m-d') : NULL;
}
public function setActiveDateAttribute( $value ) {
$this->attributes['active_date'] = isset($value) ? (new Carbon($value))->format('Y-m-d') : NULL;
}
}