MemberController.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Requests\MemberCreateRequest;
  4. use App\Http\Requests\MemberUpdateRequest;
  5. use App\Models\Member;
  6. use App\Models\MoneyDetails;
  7. use Illuminate\Http\Request;
  8. use App\Http\Controllers\Controller;
  9. class MemberController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. *
  14. * @return \Illuminate\Http\Response
  15. */
  16. public function index()
  17. {
  18. return view('admin.member.index');
  19. }
  20. public function data(Request $request)
  21. {
  22. $model = Member::query();
  23. $model = $model
  24. ->select(['phone', 'name', 'members.created_at', 'identity', 'is_deleted', 'membersDetailed_cash', 'members_id', 'membersDetailed_delete'])
  25. ->join('membersDetailed', 'membersDetailed.members_id', 'members.id');
  26. if ($request->get('name')){
  27. $model = $model->where('name','like','%'.$request->get('name').'%');
  28. }
  29. if ($request->get('phone')){
  30. $model = $model->where('phone','like','%'.$request->get('phone').'%');
  31. }
  32. $res = $model
  33. ->orderBy('created_at','desc')
  34. ->paginate($request->get('limit',30))
  35. ->toArray();
  36. $data = [
  37. 'code' => 0,
  38. 'msg' => '正在请求中...',
  39. 'count' => $res['total'],
  40. 'data' => $res['data']
  41. ];
  42. return response()->json($data);
  43. }
  44. public function getDetailedInfo()
  45. {
  46. return view('admin.member.detailedInfo');
  47. }
  48. public function dataDetailedInfo(Request $request)
  49. {
  50. $model = MoneyDetails::query();
  51. $startTime = $request->get('startTime') ?? '1900-01-01 00:00:00';
  52. $endTime = $request->get('endTime') ?? '3000-12-12 00:00:00';
  53. $modelBetween = [$startTime, $endTime];
  54. $model = $model
  55. ->where(['members_id' => $request->get('members_id'), 'moneyDetails_status' => 1])
  56. -> whereBetween('moneyDetails_time', $modelBetween);
  57. if ($request->get('type')){
  58. $model = $model->where(['moneyDetails_type' => $request->get('type')]);
  59. }
  60. if ($request->get('describe')){
  61. $model = $model->where('moneyDetails_describe','like','%'.$request->get('describe').'%');
  62. }
  63. $res = $model
  64. ->orderBy('moneyDetails_time','desc')
  65. ->paginate($request->get('limit',30))
  66. ->toArray();
  67. $data = [
  68. 'code' => 0,
  69. 'msg' => '正在请求中...',
  70. 'count' => $res['total'],
  71. 'data' => $res['data']
  72. ];
  73. return response()->json($data);
  74. }
  75. public function resetPassword(Request $request)
  76. {
  77. $ids = $request->get('ids');
  78. $memberModel = new Member;
  79. $uuid = $memberModel->select('uuid')->where(['id'=>$ids[0]])->first();
  80. $user['password'] = createPasswd(trim('123456'), $uuid->uuid);
  81. if (empty($ids)){
  82. return response()->json(['code'=>1,'msg'=>'请选择要重置密码的用户']);
  83. }
  84. if (Member::whereIn('id',$ids)->update($user)){
  85. return response()->json(['code'=>0,'msg'=>'密码重置成功']);
  86. }
  87. return response()->json(['code'=>1,'msg'=>'密码重置失败']);
  88. }
  89. public function editMoney($id)
  90. {
  91. $member = Member::findOrFail($id);
  92. return view('admin.member.editMoney',compact('member'));
  93. }
  94. /**
  95. * Show the form for creating a new resource.
  96. *
  97. * @return \Illuminate\Http\Response
  98. */
  99. public function create()
  100. {
  101. return view('admin.member.create');
  102. }
  103. /**
  104. * Store a newly created resource in storage.
  105. *
  106. * @param \Illuminate\Http\Request $request
  107. * @return \Illuminate\Http\Response
  108. */
  109. public function store(MemberCreateRequest $request)
  110. {
  111. $data = $request->all();
  112. // $data['password'] = bcrypt($data['password']);
  113. $data['uuid'] = \Faker\Provider\Uuid::uuid();
  114. $data['password'] = createPasswd(trim($data['password']),$data['uuid']);
  115. if (Member::create($data)){
  116. return redirect()->to(route('admin.member'))->with(['status'=>'添加账号成功']);
  117. }
  118. return redirect()->to(route('admin.member'))->withErrors('系统错误');
  119. }
  120. /**
  121. * Show the form for editing the specified resource.
  122. *
  123. * @param int $id
  124. * @return \Illuminate\Http\Response
  125. */
  126. public function edit($id)
  127. {
  128. $member = Member::findOrFail($id);
  129. return view('admin.member.edit',compact('member'));
  130. }
  131. /**
  132. * Update the specified resource in storage.
  133. *
  134. * @param \Illuminate\Http\Request $request
  135. * @param int $id
  136. * @return \Illuminate\Http\Response
  137. */
  138. public function update(MemberUpdateRequest $request, $id)
  139. {
  140. $member = Member::findOrFail($id);
  141. $data = $request->except('password');
  142. if ($request->get('password')){
  143. $data['password'] =createPasswd(trim($request->get('password')),$member['uuid']);
  144. }
  145. if ($member->update($data)){
  146. return redirect()->to(route('admin.member'))->with(['status'=>'更新用户成功']);
  147. }
  148. return redirect()->to(route('admin.member'))->withErrors('系统错误');
  149. }
  150. /**
  151. * Remove the specified resource from storage.
  152. *
  153. * @param int $id
  154. * @return \Illuminate\Http\Response
  155. */
  156. public function destroy(Request $request)
  157. {
  158. $ids = $request->get('ids');
  159. $status = $request->get('status') == 0 ? 1 : 0;
  160. if (empty($ids)){
  161. return response()->json(['code'=>1,'msg'=>'请选择更改状态项']);
  162. }
  163. if (Member::whereIn('id',$ids)->update(['is_deleted'=>$status])){
  164. return response()->json(['code'=>0,'msg'=>'更改状态成功']);
  165. }
  166. return response()->json(['code'=>1,'msg'=>'更改状态失败']);
  167. }
  168. }