mivita/dev/app-bak/Models/UserHistory.php
2025-10-20 17:42:08 +02:00

140 lines
4.2 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use App\User;
/**
* Class UserHistory
*
* @property int $id
* @property int $user_id
* @property int $shopping_order_id
* @property int $product_id
* @property string $action
* @property int $referenz
* @property int $status
* @property Carbon $created_at
* @property Carbon $updated_at
* @property Product $product
* @property ShoppingOrder $shopping_order
* @property User $user
* @package App\Models
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereAction($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereProductId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereReferenz($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereShoppingOrderId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereUserId($value)
* @property string|null $identifier
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereIdentifier($value)
* @property int|null $abo_options
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserHistory whereAboOptions($value)
* @property int|null $is_abo
* @method static \Illuminate\Database\Eloquent\Builder|UserHistory whereIsAbo($value)
* @mixin \Eloquent
*/
class UserHistory extends Model
{
protected $table = 'user_histories';
protected $status_types = [
0 => 'info',
1 => 'store_payment',
2 => 'checkout_payment',
3 => 'payment_error',
4 => 'payment_redirect',
5 => 'payment_approved',
6 => 'txaction_failed',
7 => 'txaction_appointed',
8 => 'txaction_paid',
9 => 'success_payment',
10 => 'success',
21 => 'payment_not_found',
22 => 'checkout_cancel',
23 => 'checkout_error',
31 => 'reminder_first',
32 => 'reminder_first_sepa',
33 => 'reminder_sec',
34 => 'reminder_last',
35 => 'reminder_deaktiv',
36 => 'reminder_deaktiv_sepa',
37 => 'reminder_collect_sepa',
50 => 'delete_membership'
];
protected $status_colors = [
0 => 'info',
1 => 'warning',
2 => 'warning',
3 => 'danger',
4 => 'warning',
5 => 'warning',
6 => 'danger',
7 => 'warning',
8 => 'success',
9 => 'secondary',
10 => 'success',
21 => 'danger',
22 => 'danger',
23 => 'danger',
];
protected $casts = [
'user_id' => 'int',
'shopping_order_id' => 'int',
'product_id' => 'int',
'referenz' => 'int',
'status' => 'int'
];
protected $fillable = [
'user_id',
'shopping_order_id',
'product_id',
'action',
'referenz',
'identifier',
'abo_options',
'is_abo',
'status'
];
public function product()
{
return $this->belongsTo(Product::class);
}
public function shopping_order()
{
return $this->belongsTo(ShoppingOrder::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
public function getStatusType(){
if(isset($this->status_types[$this->status])){
return $this->status_types[$this->status];
}
}
public function getStatusColor(){
if(isset($this->status_colors[$this->status])){
return $this->status_colors[$this->status];
}
return 'default';
}
}