链街Dcat后台
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.

163 lines
6.3 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Common\Auth;
  4. use App\Admin\Common\Type;
  5. use App\Admin\Metrics\Examples;
  6. use App\Http\Controllers\Controller;
  7. use App\Models\LanzuMpInfo;
  8. use App\Models\LanzuUserRelationBind;
  9. use App\Models\v3\Market;
  10. use Dcat\Admin\Controllers\Dashboard;
  11. use Dcat\Admin\Layout\Column;
  12. use Dcat\Admin\Layout\Content;
  13. use Dcat\Admin\Layout\Row;
  14. use Dcat\Admin\Admin;
  15. class HomeController extends Controller
  16. {
  17. public function index(Content $content)
  18. {
  19. if (Admin::user()->isRole('lanzu_business')) {
  20. return $this->lanzu_biz($content);
  21. } elseif (Admin::user()->isRole('lanzu_mp')) {
  22. return $this->lanzu_mp($content);
  23. } elseif (Admin::user()->isRole('lanzu_mm')) {
  24. return $this->lanzu_mm($content);
  25. } elseif (Admin::user()->isRole('lanzu_cs')) {
  26. return $this->lanzu_cs($content);
  27. } elseif (Admin::user()->isRole('market_service')) {
  28. return $this->market_service($content);
  29. }
  30. return $this->default($content);
  31. }
  32. protected function default(Content $content)
  33. {
  34. return $content
  35. ->header('Dashboard')
  36. ->description('Description...')
  37. ->body(function (Row $row) {
  38. $row->column(6, function (Column $column) {
  39. $column->row(Dashboard::title());
  40. $column->row(new Examples\Tickets());
  41. });
  42. $row->column(6, function (Column $column) {
  43. $column->row(function (Row $row) {
  44. $row->column(6, new Examples\NewUsers());
  45. $row->column(6, new Examples\NewDevices());
  46. });
  47. $column->row(new Examples\Sessions());
  48. $column->row(new Examples\ProductOrders());
  49. });
  50. });
  51. }
  52. protected function lanzu_mp(Content $content)
  53. {
  54. $mp = LanzuMpInfo::where('admin_user_id',Admin::user()->id)->first();
  55. $marketIds = Market::where('mp_id',$mp->id)->pluck('id')->toArray();
  56. return $content->header('控制面板')
  57. ->description('欢迎回到懒族后台')
  58. ->body(function (Row $row) use ($marketIds) {
  59. $row->column(3, function (Column $column) {
  60. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MP));
  61. });
  62. $row->column(3, function (Column $column)use ($marketIds) {
  63. $column->row(new Examples\ServiceCard\TotalStore($marketIds,'商户数'));
  64. });
  65. $row->column(3, function (Column $column)use ($marketIds) {
  66. $column->row(new Examples\Order\OrderData('number',$marketIds,'订单数'));
  67. });
  68. $row->column(3, function (Column $column)use ($marketIds) {
  69. $column->row(new Examples\Order\OrderData('amount',$marketIds,'订单金额(元)'));
  70. });
  71. });
  72. }
  73. protected function lanzu_mm(Content $content)
  74. {
  75. return $content->header('控制面板')
  76. ->description('欢迎回到懒族后台')
  77. ->body(function (Row $row) {
  78. $row->column(3, function (Column $column) {
  79. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MM));
  80. });
  81. $row->column(3, function (Column $column) {
  82. $column->row(new Examples\ServiceCard\TotalStore());
  83. });
  84. });
  85. }
  86. protected function lanzu_biz(Content $content)
  87. {
  88. return $content->header('控制面板')
  89. ->description('欢迎回到懒族后台')
  90. ->body(function (Row $row) {
  91. $row->column(4, function (Column $column) {
  92. $column->row(new Examples\ServiceCard\TotalMp());
  93. });
  94. $row->column(4, function (Column $column) {
  95. $column->row(new Examples\Community\TotalCommunity());
  96. });
  97. $row->column(4, function (Column $column) {
  98. $column->row(new Examples\Community\TotalUser());
  99. });
  100. });
  101. }
  102. protected function lanzu_cs(Content $content)
  103. {
  104. $uid = LanzuUserRelationBind::where('source_id',Admin::user()->id)->pluck('user_id')->toArray();//获取绑定社区的所有用户
  105. return $content->header('控制面板')
  106. ->description('欢迎回到懒族后台')
  107. ->body(function (Row $row) use ($uid) {
  108. $row->column(3, function (Column $column) {
  109. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_CS));
  110. });
  111. $row->column(3, function (Column $column) {
  112. $column->row(new Examples\Community\TotalUser());
  113. });
  114. $row->column(3, function (Column $column) use ($uid) {
  115. $column->row(new Examples\Order\OrderData('user',null,'下单人数',$uid));
  116. });
  117. $row->column(3, function (Column $column) use ($uid) {
  118. $column->row(new Examples\Order\OrderData('number',null,'订单数',$uid));
  119. });
  120. $row->column(3, function (Column $column) use ($uid) {
  121. $column->row(new Examples\Order\OrderData('amount',null,'订单金额(元)',$uid));
  122. });
  123. });
  124. }
  125. protected function market_service(Content $content)
  126. {
  127. $marketId = Auth::getMarket();
  128. return $content->header('控制面板')
  129. ->description('欢迎回到懒族后台')
  130. ->body(function (Row $row)use ($marketId) {
  131. $row->column(4, function (Column $column)use ($marketId) {
  132. $column->row(new Examples\ServiceCard\TotalStore($marketId,'商户数'));
  133. });
  134. $row->column(4, function (Column $column)use ($marketId) {
  135. $column->row(new Examples\Order\OrderData('number',$marketId,'订单数'));
  136. });
  137. $row->column(4, function (Column $column)use ($marketId) {
  138. $column->row(new Examples\Order\OrderData('amount',$marketId,'订单金额(元)'));
  139. });
  140. });
  141. }
  142. }