AffiliateController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Components\Helpers;
  4. use App\Http\Controllers\Controller;
  5. use App\Http\Models\ReferralApply;
  6. use App\Http\Models\ReferralLog;
  7. use Illuminate\Http\Request;
  8. use Response;
  9. /**
  10. * 推广控制器
  11. *
  12. * Class AffiliateController
  13. *
  14. * @package App\Http\Controllers\Controller
  15. */
  16. class AffiliateController extends Controller
  17. {
  18. protected static $systemConfig;
  19. function __construct()
  20. {
  21. self::$systemConfig = Helpers::systemConfig();
  22. }
  23. // 提现申请列表
  24. public function affiliateList(Request $request)
  25. {
  26. $email = $request->input('email');
  27. $status = $request->input('status');
  28. $query = ReferralApply::with('user');
  29. if(isset($email)){
  30. $query->whereHas('user', function($q) use ($email){
  31. $q->where('email', 'like', '%'.$email.'%');
  32. });
  33. }
  34. if($status){
  35. $query->whereStatus($status);
  36. }
  37. $view['applyList'] = $query->orderBy('id', 'desc')->paginate(15)->appends($request->except('page'));
  38. return Response::view('admin.affiliate.affiliateList', $view);
  39. }
  40. // 提现申请详情
  41. public function affiliateDetail(Request $request)
  42. {
  43. $id = $request->input('id');
  44. $list = NULL;
  45. $apply = ReferralApply::query()->with(['user'])->whereId($id)->first();
  46. if($apply && $apply->link_logs){
  47. $link_logs = explode(',', $apply->link_logs);
  48. $list = ReferralLog::query()->with(['user', 'order.goods'])->whereIn('id', $link_logs)->paginate(15)->appends($request->except('page'));
  49. }
  50. $view['info'] = $apply;
  51. $view['list'] = $list;
  52. return Response::view('admin.affiliate.affiliateDetail', $view);
  53. }
  54. // 设置提现申请状态
  55. public function setAffiliateStatus(Request $request)
  56. {
  57. $id = $request->input('id');
  58. $status = $request->input('status');
  59. $ret = ReferralApply::query()->whereId($id)->update(['status' => $status]);
  60. if($ret){
  61. // 审核申请的时候将关联的
  62. $referralApply = ReferralApply::query()->whereId($id)->first();
  63. $log_ids = explode(',', $referralApply->link_logs);
  64. if($referralApply && $status == 1){
  65. ReferralLog::query()->whereIn('id', $log_ids)->update(['status' => 1]);
  66. }elseif($referralApply && $status == 2){
  67. ReferralLog::query()->whereIn('id', $log_ids)->update(['status' => 2]);
  68. }
  69. }
  70. return Response::json(['status' => 'success', 'data' => '', 'message' => '操作成功']);
  71. }
  72. // 用户返利流水记录
  73. public function userRebateList(Request $request)
  74. {
  75. $email = $request->input('email');
  76. $ref_email = $request->input('ref_email');
  77. $status = $request->input('status');
  78. $query = ReferralLog::query()->with(['user', 'order'])->orderBy('status', 'asc')->orderBy('id', 'desc');
  79. if(isset($email)){
  80. $query->whereHas('user', function($q) use ($email){
  81. $q->where('email', 'like', '%'.$email.'%');
  82. });
  83. }
  84. if(isset($ref_email)){
  85. $query->whereHas('ref_user', function($q) use ($ref_email){
  86. $q->where('email', 'like', '%'.$ref_email.'%');
  87. });
  88. }
  89. if(isset($status)){
  90. $query->whereStatus($status);
  91. }
  92. $view['list'] = $query->paginate(15)->appends($request->except('page'));
  93. return Response::view('admin.affiliate.userRebateList', $view);
  94. }
  95. }