链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.1 KiB

  1. <?php
  2. namespace App\Admin\Repositories\v3;
  3. use App\Models\v3\GoodsActivity as Model;
  4. use Dcat\Admin\Grid\Model as GridModel;
  5. use Dcat\Admin\Repositories\EloquentRepository;
  6. use Illuminate\Support\Facades\DB;
  7. class GoodsReport extends EloquentRepository
  8. {
  9. /**
  10. * Model.
  11. *
  12. * @var string
  13. */
  14. protected $eloquentClass = Model::class;
  15. /**
  16. * 获取统计列表数据
  17. */
  18. public function get(GridModel $model)
  19. {
  20. $marketId = request()->input('market_id');
  21. $time = date('Y-m-d',time());
  22. $startTime = request()->input('start_time');
  23. $endTime = request()->input('end_time');
  24. $orderMainOnline = Model::select(DB::raw('COUNT(id) AS total_num'));
  25. if($marketId){
  26. $orderMainOnline->where('market_id',$marketId);
  27. }
  28. if($startTime){
  29. $date = $startTime;
  30. $startTime = $startTime.' 00:00:00';
  31. $orderMainOnline->where([['created_at','>=',strtotime($startTime)]]);
  32. }else{
  33. $date = '2020-06-01';
  34. }
  35. if($endTime){
  36. $date = $date.' 至 '.$endTime;
  37. $endTime = $endTime.' 23:59:59';
  38. $orderMainOnline->where([['created_at','<=',strtotime($endTime)]]);
  39. }else{
  40. $date .= ' 至 '.$time;
  41. }
  42. if(empty($startTime) && empty($endTime)){
  43. $date = $time;
  44. $todayStart = $time.' 00:00:00';
  45. $todayEnd = $time.' 23:59:59';
  46. $orderMainOnline->where([['created_at','>=',strtotime($todayStart)]]);
  47. }
  48. $orderReportOnline = $orderMainOnline->get()->toArray();
  49. $query = [
  50. 'order_total_num_online' => !empty($orderReportOnline[0]['total_num'])?$orderReportOnline[0]['total_num']:0,
  51. 'order_total_money_online' => !empty($orderReportOnline[0]['total_money'])?$orderReportOnline[0]['total_money']:0,
  52. 'user_total' => !empty($userTotal[0]['total'])?$userTotal[0]['total']:0,
  53. ];
  54. $list = [];
  55. return $model->makePaginator(
  56. count($list),$list
  57. );
  58. }
  59. }