belongsTo(User::class); } public function good() { return $this->belongsTo(Good::class)->select(['id', 'name', 'cover']); } public static function byDayGetUserGoodNums($day, $user_id, $good_id) { if ($day == date('Y-m-d')) { $model = self::query()->whereDate('order_time', $day)->where('good_id', $good_id)->where('user_id', $user_id)->where('status', ModelStatusEnum::OK)->select(DB::raw("good_id,sum(nums) as nums,sum(xuefen) as xuefen"))->first(); return $model->toArray(); } return Cache::remember("model:orderGood:byDayGetUserGoodNums:{$day}:{$user_id}:{$good_id}", Carbon::now()->addDay(), function () use ($day, $user_id, $good_id) { $model = self::query()->whereDate('order_time', $day)->where('good_id', $good_id)->where('user_id', $user_id)->where('status', ModelStatusEnum::OK)->select(DB::raw("good_id,sum(nums) as nums,sum(xuefen) as xuefen"))->first(); return $model->toArray(); }); } public static function adminBbyDayGetGoodNums($day, $good_id) { $model = self::query(); if (Menu::checkUserIsBtn(151)) { //全部数据 } elseif (Menu::checkUserIsBtn(150)) { $admin = login_admin(); $model = $model->whereHas('user', function ($q) use ($admin) { return $q->where('kefu_tag', $admin['user_tag']); }); } else { $model = $model->where('id', 0); } if ($day == date('Y-m-d')) { $model = $model->clone()->whereDate('order_time', $day)->where('good_id', $good_id)->where('status', ModelStatusEnum::OK)->select(DB::raw("good_id,sum(nums) as nums,sum(xuefen) as xuefen"))->first(); return $model->toArray(); } Cache::forget("model:orderGood:byDayGetUserGoodNums:{$day}:{$good_id}"); return Cache::remember("model:orderGood:byDayGetUserGoodNums:{$day}:{$good_id}", Carbon::now()->addDay(), function () use ($day, $good_id, $model) { $model = $model->clone()->whereDate('order_time', $day)->where('good_id', $good_id)->where('status', ModelStatusEnum::OK)->select(DB::raw("good_id,sum(nums) as nums,sum(xuefen) as xuefen"))->first(); return $model->toArray(); }); } }