ShopGoodTransformer.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Repositories\Transformers\Dwbs;
  3. use App\Repositories\Models\Dwbs\ShopGood;
  4. use App\Repositories\Models\Dwbs\ShopOrderGood;
  5. use Carbon\Carbon;
  6. use League\Fractal\TransformerAbstract;
  7. class ShopGoodTransformer extends TransformerAbstract
  8. {
  9. /**
  10. * Prepare data to present.
  11. *
  12. * @param ShopGood $shopGood
  13. * @return array
  14. */
  15. public function transform(ShopGood $model)
  16. {
  17. if (isAdminModule()) {
  18. return $this->adminTransform($model);
  19. }
  20. return [
  21. 'id' => $model->id,
  22. 'name' => $model->name,
  23. 'jifen' => $model->jifen,
  24. 'cover' => $model->cover,
  25. 'nums' => $model->nums,
  26. 'duihuan_nums' => $model->duihuan_nums,
  27. 'day_duihuan_nums' => ShopOrderGood::query()->where('created_at', '>=', Carbon::now()->startOfDay()->toDateTimeString())->where('good_id', $model->id)->where('user_id', login_user_id())->sum('nums'),
  28. ];
  29. }
  30. public function adminTransform(ShopGood $model)
  31. {
  32. return [
  33. 'id' => $model->id,
  34. 'name' => $model->name,
  35. 'jifen' => $model->jifen,
  36. 'cover' => $model->cover,
  37. 'nums' => $model->nums,
  38. 'duihuan_nums' => $model->duihuan_nums,
  39. 'status' => $model->status,
  40. 'sort' => $model->sort,
  41. 'updated_at' => $model->updated_at ? $model->updated_at->format('Y-m-d H:i:s') : null,
  42. ];
  43. }
  44. }