PackageService.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Services;
  3. use App\Package;
  4. use App\Services\common\QueryService;
  5. use Illuminate\Http\Request;
  6. Class PackageService
  7. {
  8. private function conditionQuery(Request $request){
  9. $packages = Package::query()->orderBy('id','DESC');
  10. $columnQueryRules=[
  11. 'logistic_number' => ['timeLimit' => 15],
  12. 'batch_number' => ['timeLimit' => 15],
  13. 'created_at_start' => ['alias' => 'created_at','startDate' => " 00:00:00"],
  14. 'created_at_end' => ['alias' => 'created_at','endDate' => " 23:59:59"],
  15. ];
  16. $packages = app(QueryService::class)->query($request,$packages,$columnQueryRules);
  17. return $packages;
  18. }
  19. public function paginate(Request $request){
  20. $packages = $this->conditionQuery($request);
  21. return $packages->paginate($request->paginate ?? 50);
  22. }
  23. public function get(Request $request){
  24. $packages = $this->conditionQuery($request);
  25. return $packages->get();
  26. }
  27. public function some(Request $request){
  28. return Package::query()->orderBy('id','DESC')
  29. ->whereIn('id',explode(',',$request->data))->get();
  30. }
  31. }