123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Repositories\Models\Dwbs;
- use App\Repositories\Enums\ModelStatusEnum;
- use App\Repositories\Models\Base\Menu;
- use App\Repositories\Models\Base\User;
- use App\Repositories\Models\Model;
- use Carbon\Carbon;
- use Illuminate\Support\Facades\Cache;
- use Illuminate\Support\Facades\DB;
- class OrderGood extends Model
- {
- /**
- * @var string
- */
- protected $table = 'dwbs_order_goods';
- protected $guarded = [];
- /**
- * The attributes excluded from the model's JSON form.
- *
- * @var array
- */
- protected $hidden = [];
- protected $casts = [];
- public function user()
- {
- return $this->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();
- });
- }
- }
|