AffiliateController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Components\Helpers;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\ReferralApply;
  6. use App\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. protected static $systemConfig;
  18. function __construct() {
  19. self::$systemConfig = Helpers::systemConfig();
  20. }
  21. // 提现申请列表
  22. public function affiliateList(Request $request) {
  23. $email = $request->input('email');
  24. $status = $request->input('status');
  25. $query = ReferralApply::with('user');
  26. if(isset($email)){
  27. $query->whereHas('user', function($q) use ($email) {
  28. $q->where('email', 'like', '%'.$email.'%');
  29. });
  30. }
  31. if($status){
  32. $query->whereStatus($status);
  33. }
  34. $view['applyList'] = $query->orderByDesc('id')->paginate(15)->appends($request->except('page'));
  35. return Response::view('admin.affiliate.affiliateList', $view);
  36. }
  37. // 提现申请详情
  38. public function affiliateDetail(Request $request) {
  39. $id = $request->input('id');
  40. $list = null;
  41. $apply = ReferralApply::query()->with(['user'])->whereId($id)->first();
  42. if($apply && $apply->link_logs){
  43. $link_logs = explode(',', $apply->link_logs);
  44. $list = ReferralLog::query()
  45. ->with(['user', 'order.goods'])
  46. ->whereIn('id', $link_logs)
  47. ->paginate(15)
  48. ->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. $id = $request->input('id');
  57. $status = $request->input('status');
  58. $ret = ReferralApply::query()->whereId($id)->update(['status' => $status]);
  59. if($ret){
  60. // 审核申请的时候将关联的
  61. $referralApply = ReferralApply::query()->whereId($id)->first();
  62. $log_ids = explode(',', $referralApply->link_logs);
  63. if($referralApply && $status == 1){
  64. ReferralLog::query()->whereIn('id', $log_ids)->update(['status' => 1]);
  65. }elseif($referralApply && $status == 2){
  66. ReferralLog::query()->whereIn('id', $log_ids)->update(['status' => 2]);
  67. }
  68. }
  69. return Response::json(['status' => 'success', 'data' => '', 'message' => '操作成功']);
  70. }
  71. // 用户返利流水记录
  72. public function userRebateList(Request $request) {
  73. $email = $request->input('email');
  74. $ref_email = $request->input('ref_email');
  75. $status = $request->input('status');
  76. $query = ReferralLog::query()->with(['user', 'order'])->orderBy('status')->orderByDesc('id');
  77. if(isset($email)){
  78. $query->whereHas('user', function($q) use ($email) {
  79. $q->where('email', 'like', '%'.$email.'%');
  80. });
  81. }
  82. if(isset($ref_email)){
  83. $query->whereHas('ref_user', function($q) use ($ref_email) {
  84. $q->where('email', 'like', '%'.$ref_email.'%');
  85. });
  86. }
  87. if(isset($status)){
  88. $query->whereStatus($status);
  89. }
  90. $view['list'] = $query->paginate(15)->appends($request->except('page'));
  91. return Response::view('admin.affiliate.userRebateList', $view);
  92. }
  93. }