RebateOrderRepository.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Repositories;
  3. use App\Model\RebateOrderMmdel;
  4. use Hyperf\Database\Model\Builder;
  5. use KZ2\Repositories\Model\Repository;
  6. class RebateOrderRepository extends Repository
  7. {
  8. public function model()
  9. {
  10. return RebateOrderMmdel::class;
  11. }
  12. /**
  13. * 获取用户业绩
  14. *
  15. * @param $userId
  16. * @return int|mixed|string|void
  17. */
  18. public function sumUserTotalPerf($userId)
  19. {
  20. $perfAmount = RebateOrderMmdel::where('uid', $userId)->sum('perf_amount');
  21. return (int)$perfAmount;
  22. }
  23. /**
  24. * 关联用户业绩求和
  25. *
  26. * @param $userId
  27. * @return int|mixed|string|void
  28. */
  29. public function userGradeRerf($userId)
  30. {
  31. $rebate = RebateOrderMmdel::selectRaw('rebate_level, ROUND(sum(perf_amount), 2) as perf_amount')->where('uid', $userId)->groupBy('rebate_level')->orderBy('rebate_level')->get();
  32. $res = [1 => 0, 2 => 0, 3 => 0, 4 => 0];
  33. if ($rebate->isNotEmpty()) {
  34. foreach ($rebate as $item) {
  35. $res[$item['rebate_level']] = $item['perf_amount'];
  36. }
  37. }
  38. return json_encode($res);
  39. }
  40. }