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

186 lines
6.2 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
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Common\Auth;
  4. use App\Admin\Repositories\LanzuMmInfo;
  5. use App\Models\AdminUsers;
  6. use \App\Models\AdminRoles;
  7. use \App\Models\AdminRoleUsers;
  8. use App\Models\ImsCjdcMarket;
  9. use App\Models\LanzuMmWithdraw;
  10. use App\Models\LanzuMpInfo;
  11. use App\Models\LanzuMpInfo as mpInfo;
  12. use App\Models\MpBalance;
  13. use Dcat\Admin\Form;
  14. use Dcat\Admin\Grid;
  15. use Dcat\Admin\Show;
  16. use Dcat\Admin\Controllers\AdminController;
  17. use Illuminate\Support\Facades\Hash;
  18. use App\Models\LanzuMmInfo as mmInfo;
  19. use Dcat\Admin\Admin;
  20. class LanzuMmInfoController extends AdminController
  21. {
  22. /**
  23. * Make a grid builder.
  24. *
  25. * @return Grid
  26. */
  27. protected function grid()
  28. {
  29. return Grid::make(new LanzuMmInfo(), function (Grid $grid) {
  30. $user = Admin::user();
  31. //根据登陆帐户获取服务商信息
  32. $mp_info = mpInfo::where('admin_user_id', $user->id)->first();
  33. if ($mp_info) {//如果没有获取到对应的服务商信息,说明该帐号没有绑定服务商
  34. $mk = ImsCjdcMarket::where('mp_id', $mp_info->id)->get()->pluck('id');
  35. $mk_ids = [-1];
  36. if (count($mk) > 0) {
  37. $mk_ids = $mk;
  38. }
  39. $grid->model()->whereIn('market_id', $mk_ids);
  40. }
  41. $grid->id->sortable();
  42. $grid->name;
  43. $grid->phone;
  44. $grid->column('market_id', '所属市场')->display(function ($id) {
  45. $market = ImsCjdcMarket::find($id);
  46. return $market->name;
  47. });
  48. $grid->column('可提现金额')->display(function () {
  49. return MpBalance::getBalance($this->admin_user_id, Type::BALANCE_USER_TYPE_MM);
  50. });
  51. $grid->id_frond->image('', 50, 50);
  52. $grid->id_back->image('', 50, 50);
  53. $grid->id_number;
  54. $grid->column('status', '状态')->display(function ($status) {
  55. if ($status == 1) {
  56. return '正常';
  57. } else {
  58. return '禁用';
  59. }
  60. });
  61. $grid->created_at->display(function ($time) {
  62. return date('Y-m-d H:i:s', $time);
  63. });
  64. $grid->filter(function (Grid\Filter $filter) {
  65. $filter->like('name')->placeholder('输入经理名称');
  66. $filter->equal('phone')->placeholder('输入电话');
  67. });
  68. });
  69. }
  70. /**
  71. * Make a show builder.
  72. *
  73. * @param mixed $id
  74. *
  75. * @return Show
  76. */
  77. protected function detail($id)
  78. {
  79. return Show::make($id, new LanzuMmInfo(), function (Show $show) {
  80. $show->name;
  81. $show->phone;
  82. $show->market_id()->as(function ($id) {
  83. $market = ImsCjdcMarket::find($id);
  84. return $market->name;
  85. });
  86. $show->id_frond->image();
  87. $show->id_back->image();
  88. $show->id_number;
  89. $show->status()->using([1 => '正常', 0 => '禁用']);
  90. $show->created_at()->as(function ($time) {
  91. if ($time) {
  92. return date('Y-m-d H:i', $time);
  93. } else {
  94. return '-';
  95. }
  96. });
  97. $show->updated_at()->as(function ($time) {
  98. if ($time) {
  99. return date('Y-m-d H:i', $time);
  100. } else {
  101. return '-';
  102. }
  103. });
  104. });
  105. }
  106. /**
  107. * Make a form builder.
  108. *
  109. * @return Form
  110. */
  111. protected function form()
  112. {
  113. return Form::make(new LanzuMmInfo(), function (Form $form) {
  114. $form->display('id');
  115. $form->text('user_id', '懒ID')->placeholder('对应懒族小程序个人中心的懒ID')->required();
  116. $form->text('name')->required();
  117. $form->text('phone')->required();
  118. $form->select('market_id', '所属市场')->options('/api/getMarket')->required();
  119. $form->image('id_frond')->uniqueName();
  120. $form->image('id_back')->uniqueName();
  121. $form->text('id_number');
  122. $form->radio('status', '状态')->options(['禁用', '启用'])->default(1);
  123. $form->saved(function (Form $form, $mmid) {
  124. $model = new mmInfo();
  125. if ($form->isCreating()) {
  126. $res = Auth::addAdminUser($form, $model, $mmid, 'lanzu_mm', Type::BALANCE_USER_TYPE_MM);
  127. if ($res == -1) {
  128. return $form->error('该手机号作为登陆帐号已存在!');
  129. } elseif ($res == -2) {
  130. return $form->error('添加失败!');
  131. }
  132. } else {
  133. //>>4.编辑时同步登陆帐号状态
  134. $adu = new AdminUsers();
  135. $id = $form->getKey();
  136. $mm = mmInfo::find($id);
  137. $ad = $adu->find($mm->admin_user_id);
  138. $ad->status = $form->status;
  139. $ad->save();
  140. }
  141. });
  142. $form->deleted(function (Form $form, $result) {
  143. $aduids = array_column($form->model()->toArray(), 'admin_user_id');
  144. $mids = array_column($form->model()->toArray(), 'id');
  145. //删除对应的登陆帐号
  146. AdminUsers::whereIn('id', $aduids)->delete();
  147. //删除提现记录
  148. LanzuMmWithdraw::whereIn('mm_id',$mids)->update(['deleted_at'=>time()]);
  149. });
  150. });
  151. }
  152. /**
  153. * 获取市场信息
  154. * @return \Illuminate\Http\JsonResponse
  155. */
  156. protected function getMarket()
  157. {
  158. $user = Admin::user();
  159. $mp = LanzuMpInfo::where('admin_user_id', $user->id)->first();
  160. $data = [];
  161. if ($mp) {
  162. $markets = ImsCjdcMarket::where('mp_id', $mp->id)->get();
  163. foreach ($markets as $market) {
  164. $item = [];
  165. $item['id'] = $market->id;
  166. $item['text'] = $market->name;
  167. $data[] = $item;
  168. }
  169. }
  170. return response()->json($data);
  171. }
  172. }