Turnover.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace app\controller\merchant;
  3. use app\extra\basic\Base;
  4. use app\extra\service\saas\OrderService;
  5. use app\middleware\AuthMiddleware;
  6. use app\model\saas\SaasOrderQrcode;
  7. use app\model\saas\SaasUserBuy;
  8. use LinFly\Annotation\Route\Controller;
  9. use LinFly\Annotation\Route\Middleware;
  10. use LinFly\Annotation\Route\Route;
  11. use support\Request;
  12. use support\Response;
  13. #[Controller(prefix: "/api/mer/turnover"),Middleware(AuthMiddleware::class)]
  14. class Turnover extends Base
  15. {
  16. /**
  17. *
  18. * @param Request $request
  19. * @return Response
  20. */
  21. #[Route(path: "today",methods: "get")]
  22. public function getToday(Request $request): Response
  23. {
  24. try {
  25. $param = $this->_valid([
  26. "shop.default" => $request->user['agent_id']
  27. ]);
  28. $data = (new OrderService)->getTotalToday(['shop' => $param['shop']]);
  29. $qrcode = (new SaasOrderQrcode)->whereDay("create_at")->where(["shop_id" => $param['shop'],'status' => 1])->field("sum(money) as money,count(1) as total")->find();
  30. $card = (new SaasUserBuy)->whereDay("create_at")->where(["shop_id" => $param['shop'],'status' => 1])->field("sum(money) as money,count(1) as total")->find();
  31. $total = [
  32. [
  33. "name" => "小程序订单",
  34. "type" => "线上支付",
  35. "order" => $data['p1'],
  36. "money" => $data['p1m']
  37. ],
  38. [
  39. "name" => "收款码",
  40. "type" => "线上支付",
  41. "order" => $qrcode['total'],
  42. "money" => $qrcode['money']
  43. ],
  44. [
  45. "name" => "会员卡充值",
  46. "type" => "线上支付",
  47. "order" => $card['total'],
  48. "money" => $card['money']
  49. ],
  50. [
  51. "name" => "会员卡支付",
  52. "type" => "线上支付",
  53. "order" => $data['p2'],
  54. "money" => $data['p2m']
  55. ]
  56. ];
  57. $today = [
  58. "money" => $data['p1m'],
  59. "user" => $data['p2m'],
  60. "qrcode" => $qrcode['money'],
  61. ];
  62. return success("ok",compact("total","today"));
  63. } catch (\Throwable $throwable) {
  64. return error($throwable->getMessage());
  65. }
  66. }
  67. }