TotalController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace Modules\ManageApi\Controllers;
  3. use App\Repositories\AgentAttrsDayMongoRepository;
  4. use App\Repositories\AgentAttrsDayRepository;
  5. use Carbon\Carbon;
  6. use Illuminate\Support\Facades\Validator;
  7. class TotalController extends BaseController
  8. {
  9. /**
  10. * 总数据
  11. *
  12. * @return \Illuminate\Http\JsonResponse|mixed
  13. */
  14. public function income()
  15. {
  16. $inputData = $this->getJsonData();
  17. $rules = [
  18. 'start_date' => 'nullable|date',
  19. 'end_date' => 'nullable|date|after_or_equal:start_date',
  20. ];
  21. $validator = Validator::make($inputData, $rules);
  22. if ($validator->fails()) {
  23. // 如果有错误(可能是多个信息),这里只取第一个错误信息返回.
  24. return json_fail($validator->errors()->first());
  25. }
  26. /**
  27. * @var AgentAttrsDayMongoRepository $dayReps
  28. */
  29. $dayReps = app(AgentAttrsDayMongoRepository::class);
  30. if (isset($inputData['data']['start_date']) && isset($inputData['data']['end_date'])) {
  31. $startDate = Carbon::parse($inputData['data']['start_date'])->startOfDay()->toDateTimeString();
  32. $endDate = Carbon::parse($inputData['data']['end_date'])->endOfDay()->toDateTimeString();
  33. } else {
  34. $startDate = Carbon::parse()->startOfDay()->toDateTimeString();
  35. $endDate = Carbon::parse()->endOfDay()->toDateTimeString();
  36. }
  37. $res =$dayReps->sumTotalData($startDate, $endDate);
  38. return json_success($res);
  39. }
  40. }