链街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.

231 lines
10 KiB

6 years ago
5 years ago
6 years ago
6 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
5 years ago
5 years ago
5 years ago
6 years ago
5 years ago
5 years ago
6 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. use Illuminate\Support\Facades\DB;
  16. class HomeController extends Controller
  17. {
  18. public function index(Content $content)
  19. {
  20. if (Admin::user()->isRole('lanzu_business')) {
  21. return $this->lanzu_biz($content);
  22. } elseif (Admin::user()->isRole('lanzu_mp')) {
  23. return $this->lanzu_mp($content);
  24. } elseif (Admin::user()->isRole('lanzu_mm')) {
  25. return $this->lanzu_mm($content);
  26. } elseif (Admin::user()->isRole('lanzu_cs')) {
  27. return $this->lanzu_cs($content);
  28. } elseif (Admin::user()->isRole('market_service')) {
  29. return $this->market_service($content);
  30. }
  31. return $this->default($content);
  32. }
  33. protected function default(Content $content)
  34. {
  35. return $content
  36. ->header('Dashboard')
  37. ->description('Description...')
  38. ->body(function (Row $row) {
  39. $row->column(6, function (Column $column) {
  40. $column->row(Dashboard::title());
  41. $column->row(new Examples\Tickets());
  42. });
  43. $row->column(6, function (Column $column) {
  44. $column->row(function (Row $row) {
  45. $row->column(6, new Examples\NewUsers());
  46. $row->column(6, new Examples\NewDevices());
  47. });
  48. $column->row(new Examples\Sessions());
  49. $column->row(new Examples\ProductOrders());
  50. });
  51. });
  52. }
  53. protected function lanzu_mp(Content $content)
  54. {
  55. $mp = LanzuMpInfo::where('admin_user_id',Admin::user()->id)->first();
  56. $marketIds = Market::where('mp_id',$mp->id)->pluck('id')->toArray();
  57. return $content->header('控制面板')
  58. ->description('欢迎回到懒族后台')
  59. ->body(function (Row $row) use ($marketIds) {
  60. $row->column(3, function (Column $column) {
  61. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MP));
  62. });
  63. $row->column(3, function (Column $column)use ($marketIds) {
  64. $column->row(new Examples\ServiceCard\TotalStore($marketIds,'商户数'));
  65. });
  66. $row->column(3, function (Column $column)use ($marketIds) {
  67. $column->row(new Examples\Order\OrderData('订单数',[
  68. 'user_type'=>'lanzu_mp',//谁取数据 user_type 用户类型
  69. 'data_type'=>'number',//取什么数据 data_type 数据类型
  70. 'market_id'=>$marketIds,//取哪个市场数据
  71. 'condition'=>1,//取数据维度 condition
  72. ]));
  73. });
  74. $row->column(3, function (Column $column)use ($marketIds) {
  75. $column->row(new Examples\Order\OrderData('订单金额(元)',[
  76. 'user_type'=>'lanzu_mp',//谁取数据 user_type 用户类型
  77. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  78. 'market_id'=>$marketIds,//取哪个市场数据
  79. 'condition'=>1,//取数据维度 condition
  80. ]));
  81. });
  82. });
  83. }
  84. protected function lanzu_mm(Content $content)
  85. {
  86. return $content->header('控制面板')
  87. ->description('欢迎回到懒族后台')
  88. ->body(function (Row $row) {
  89. $row->column(3, function (Column $column) {
  90. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_MM));
  91. });
  92. $row->column(3, function (Column $column) {
  93. $column->row(new Examples\ServiceCard\TotalStore());
  94. });
  95. });
  96. }
  97. protected function lanzu_biz(Content $content)
  98. {
  99. $uid = LanzuUserRelationBind::pluck('user_id')->toArray();
  100. return $content->header('控制面板')
  101. ->description('欢迎回到懒族后台')
  102. ->body(function (Row $row)use ($uid) {
  103. $row->column(3, function (Column $column) {
  104. $column->row(new Examples\Community\TotalCommunity());
  105. });
  106. $row->column(3, function (Column $column) {
  107. $column->row(new Examples\Community\TotalUser());
  108. });
  109. $row->column(3, function (Column $column)use ($uid) {
  110. $column->row(new Examples\Order\OrderData('下单人数',[
  111. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  112. 'data_type'=>'count_user',//取什么数据 data_type 数据类型
  113. 'market_id'=>'',//取哪个市场数据
  114. 'condition'=>1,//取数据维度 condition
  115. 'user_ids'=>$uid?$uid:null
  116. ]));
  117. });
  118. $row->column(3, function (Column $column)use ($uid) {
  119. $column->row(new Examples\Order\OrderData('订单数',[
  120. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  121. 'data_type'=>'number',//取什么数据 data_type 数据类型
  122. 'market_id'=>'',//取哪个市场数据
  123. 'condition'=>1,//取数据维度 condition
  124. 'user_ids'=>$uid?$uid:null
  125. ]));
  126. });
  127. $row->column(3, function (Column $column)use ($uid) {
  128. $column->row(new Examples\Order\OrderData('订单金额(元)',[
  129. 'user_type'=>'lanzu_biz',//谁取数据 user_type 用户类型
  130. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  131. 'market_id'=>'',//取哪个市场数据
  132. 'condition'=>1,//取数据维度 condition
  133. 'user_ids'=>$uid?$uid:null
  134. ]));
  135. });
  136. });
  137. }
  138. protected function lanzu_cs(Content $content)
  139. {
  140. //查询用户绑定后下过单的用户id
  141. $uid = LanzuUserRelationBind::where('source_id',Admin::user()->id)
  142. ->pluck('user_id')
  143. ->toArray();//获取绑定社区的所有用户
  144. return $content->header('控制面板')
  145. ->description('欢迎回到懒族后台')
  146. ->body(function (Row $row) use ($uid) {
  147. $row->column(3, function (Column $column) {
  148. $column->row(new Examples\Community\TotalAmount(Admin::user()->id,Type::BALANCE_USER_TYPE_CS));
  149. });
  150. $row->column(3, function (Column $column) {
  151. $column->row(new Examples\Community\TotalUser());
  152. });
  153. $row->column(3, function (Column $column) use ($uid) {
  154. $column->row(new Examples\Order\OrderData('下单人数',[
  155. 'user_type'=>'lanzu_cs',//谁取数据 user_type 用户类型
  156. 'data_type'=>'count_user',//取什么数据 data_type 数据类型
  157. 'market_id'=>'',//取哪个市场数据
  158. 'condition'=>1,//取数据维度 condition
  159. 'user_ids'=>$uid?$uid:null
  160. ]));
  161. });
  162. $row->column(3, function (Column $column) use ($uid) {
  163. $column->row(new Examples\Order\OrderData('订单数',[
  164. 'user_type'=>'lanzu_cs',//谁取数据 user_type 用户类型
  165. 'data_type'=>'number',//取什么数据 data_type 数据类型
  166. 'market_id'=>'',//取哪个市场数据
  167. 'condition'=>1,//取数据维度 condition
  168. 'user_ids'=>$uid?$uid:null
  169. ]));
  170. });
  171. $row->column(3, function (Column $column) use ($uid) {
  172. $column->row(new Examples\Order\OrderData('订单金额(元)',[
  173. 'user_type'=>'lanzu_cs',//谁取数据 user_type 用户类型
  174. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  175. 'market_id'=>'',//取哪个市场数据
  176. 'condition'=>1,//取数据维度 condition
  177. 'user_ids'=>$uid?$uid:null
  178. ]));
  179. });
  180. });
  181. }
  182. protected function market_service(Content $content)
  183. {
  184. $marketId = Auth::getMarket();
  185. return $content->header('控制面板')
  186. ->description('欢迎回到懒族后台')
  187. ->body(function (Row $row)use ($marketId) {
  188. $row->column(4, function (Column $column)use ($marketId) {
  189. $column->row(new Examples\ServiceCard\TotalStore($marketId,'商户数'));
  190. });
  191. $row->column(4, function (Column $column)use ($marketId) {
  192. $column->row(new Examples\Order\OrderData('订单数',[
  193. 'user_type'=>'market_service',//谁取数据 user_type 用户类型
  194. 'data_type'=>'number',//取什么数据 data_type 数据类型
  195. 'market_id'=>$marketId,//取哪个市场数据
  196. 'condition'=>1,//取数据维度 condition
  197. ]));
  198. });
  199. $row->column(4, function (Column $column)use ($marketId) {
  200. $column->row(new Examples\Order\OrderData('订单金额(元)',[
  201. 'user_type'=>'market_service',//谁取数据 user_type 用户类型
  202. 'data_type'=>'amount',//取什么数据 data_type 数据类型
  203. 'market_id'=>$marketId,//取哪个市场数据
  204. 'condition'=>1,//取数据维度 condition
  205. ]));
  206. });
  207. });
  208. }
  209. }