HomeController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\Api\Dwbs;
  3. use App\Http\Controllers\Controller;
  4. use App\Repositories\Models\Dwbs\Good;
  5. use App\Repositories\Models\Dwbs\OrderGood;
  6. use App\Repositories\Models\Dwbs\Ranking;
  7. use Carbon\Carbon;
  8. use Illuminate\Http\Request;
  9. /**
  10. * 首页
  11. */
  12. class HomeController extends Controller
  13. {
  14. /**
  15. * 数据统计分析
  16. * @param Request $request
  17. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  18. */
  19. public function meAnalysis(Request $request)
  20. {
  21. $user_id = login_user_id();
  22. $days = 30;
  23. $goods = Good::getNames();
  24. $goodNums = [];
  25. $xuefen = [];
  26. for ($i = 0; $i < $days; $i++) {
  27. $day = Carbon::now()->addDays(-$i)->toDateString();
  28. //每天卖货数量和学分
  29. $dayGoodNums = [];
  30. $dayGoodXuefen = [];
  31. foreach ($goods as $good) {
  32. $dayNums = OrderGood::byDayGetUserGoodNums($day, $user_id, $good['id']);
  33. $dayGoodNums[$good->id] = $dayNums['nums'] ?? 0;
  34. $dayGoodXuefen[$good->id] = $dayNums['xuefen'] ?? 0;
  35. }
  36. $goodNums[] = [
  37. 'day' => $day,
  38. 'nums' => $dayGoodNums,
  39. 'xuefen' => $dayGoodXuefen,
  40. ];
  41. //学分增长统计图
  42. $dayXuefen = Ranking::byDayGetUserXuefen($day, $user_id);
  43. $dayXuefen['day'] = $day;
  44. $xuefen[] = $dayXuefen;
  45. }
  46. return $this->response->success(compact('goodNums', 'xuefen', 'goods'));
  47. }
  48. }