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.

52 lines
1.7 KiB

5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Service\v3\Implementations;
  3. use App\Model\v3\FinancialRecord;
  4. use App\Service\v3\Interfaces\RevenueListServiceInterface;
  5. class RevenueListService implements RevenueListServiceInterface
  6. {
  7. public function do()
  8. {
  9. // TODO: Implement do() method.
  10. }
  11. public function check($userId)
  12. {
  13. }
  14. public function undo()
  15. {
  16. // TODO: Implement undo() method.
  17. }
  18. public function getListByUser($userId, $page=1, $pagesize=10 ,$startTime = '',$endTime = '')
  19. {
  20. $financialRecord = new FinancialRecord();
  21. $mod = bcmod((string)$userId, '5', 0);
  22. $financialRecord->suffix($mod);
  23. $builder = $financialRecord->where('user_id',$userId);
  24. if(!empty($startTime) && !empty($endTime)){
  25. $builder->whereBetween('created_at',[strtotime($startTime.' 00:00:00'),strtotime($endTime.' 23:59:59')]);
  26. }
  27. $paginate = $builder->paginate($pagesize);
  28. $revenues = $paginate->toArray();
  29. return ['has_more_pages' => $paginate->hasMorePages(), 'revenue_list' => $revenues['data']];
  30. }
  31. public function getRevenueByUser($userId,$type = [],$startTime = '',$endTime = '')
  32. {
  33. $financialRecord = new FinancialRecord();
  34. $mod = bcmod((string)$userId, '5', 0);
  35. $financialRecord->suffix($mod);
  36. $builder = $financialRecord->where('user_id',$userId)
  37. ->whereIn('money_type',$type);
  38. if(!empty($startTime) && !empty($endTime)){
  39. $builder->whereBetween('created_at',[$startTime,$endTime]);
  40. }
  41. $revenue = $builder->select('money','money_type','created_at')->orderBy('created_at', 'desc')->get()->toArray();
  42. return $revenue;
  43. }
  44. }