12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace App\Models;
- use App\Enums\OrderStatus;
- use Illuminate\Database\Eloquent\Model;
- use Illuminate\Database\Eloquent\Relations\BelongsTo;
- use Illuminate\Support\Facades\DB;
- class CoachStatistic extends Model
- {
- protected $fillable = [
- 'coach_id',
- // 评分相关
- 'score',
- 'service_score',
- 'appearance_score',
- 'attitude_score',
- 'professional_score',
- // 评价统计
- 'comment_count',
- 'good_comment_count',
- 'medium_comment_count',
- 'bad_comment_count',
- // 订单统计
- 'order_count',
- 'completed_order_count',
- 'cancel_order_count',
- 'reject_order_count',
- // 月度统计
- 'month_order_count',
- 'month_completed_count',
- 'month_income',
- // 其他统计
- 'total_income',
- 'completion_rate',
- 'avg_response_time'
- ];
- protected $casts = [
- // 评分相关
- 'score' => 'float',
- 'service_score' => 'float',
- 'appearance_score' => 'float',
- 'attitude_score' => 'float',
- 'professional_score' => 'float',
- // 评价统计
- 'comment_count' => 'integer',
- 'good_comment_count' => 'integer',
- 'medium_comment_count' => 'integer',
- 'bad_comment_count' => 'integer',
- // 订单统计
- 'order_count' => 'integer',
- 'completed_order_count' => 'integer',
- 'cancel_order_count' => 'integer',
- 'reject_order_count' => 'integer',
- // 月度统计
- 'month_order_count' => 'integer',
- 'month_completed_count' => 'integer',
- 'month_income' => 'float',
- // 其他统计
- 'total_income' => 'float',
- 'completion_rate' => 'float',
- 'avg_response_time' => 'integer'
- ];
- /**
- * 关联技师
- */
- public function coach(): BelongsTo
- {
- return $this->belongsTo(CoachUser::class, 'coach_id');
- }
- }
|