SettlementIndemnityFeeService.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Services;
  3. use App\Order;
  4. use App\OrderIssue;
  5. use App\Traits\ServiceAppAop;
  6. class SettlementIndemnityFeeService implements \App\Interfaces\SettlementBillDetailInterface
  7. {
  8. const TYPE = '理赔费';
  9. use ServiceAppAop;
  10. use \App\Traits\SettlementBillServiceTrait;
  11. public function getSql($owner_id, $counting_month): \Illuminate\Database\Eloquent\Builder
  12. {
  13. list($start, $end) = $this->getStartAndEnd($counting_month);
  14. return OrderIssue::query()
  15. ->with('order.shop')
  16. ->whereIn('order_id', Order::query()
  17. ->select('id')
  18. ->where('owner_id', $owner_id)
  19. ->whereBetween('created_at', [$start, $end]))
  20. ->whereBetween('created_at', [$start, $end])
  21. ->whereNotNull('baoshi_indemnity_money');
  22. }
  23. public function get(array $kvPairs)
  24. {
  25. return $this->getSql($kvPairs['owner_id'], $kvPairs['counting_month'])->paginate($kvPairs['paginateParams']['paginate'] ?? 50);
  26. }
  27. public function switchType($type)
  28. {
  29. // TODO: Implement switchType() method.
  30. }
  31. public function buildExport($details): array
  32. {
  33. // TODO: Implement buildExport() method.
  34. }
  35. public function add(array $model)
  36. {
  37. // TODO: Implement add() method.
  38. }
  39. public function getTotalFee($owner_id, $counting_month)
  40. {
  41. // TODO: Implement getTotalFee() method.
  42. }
  43. }