ActivityController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Http\Controllers\Wap\IndividualWechat;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Modules\Activity\Services\UserNationalDay;
  6. use DB;
  7. /**
  8. *
  9. */
  10. class ActivityController extends Controller
  11. {
  12. /**
  13. * 国庆活动
  14. */
  15. public function national(Request $request)
  16. {
  17. $uid = $this->getUserColumnValue('id');
  18. $channel_id = $this->getUserColumnValue('channel_id');
  19. $userNationalDay = new UserNationalDay($uid);
  20. $userNationalDay->sign();
  21. $sign_configs = $userNationalDay->getSignConfigs();
  22. $bonus = $userNationalDay->bonus;
  23. $continue_link = sprintf(
  24. '%s://site%s.%s.com/recent',
  25. env('PROTOCOL'),
  26. encodeDistributionChannelId($this->getUserColumnValue('channel_id')),
  27. env('CUSTOM_HOST')
  28. );
  29. $pay_link = env('CREATE_PAY_URL') . '?' . http_build_query([
  30. 'product_id' => $userNationalDay->product_id,
  31. 'uid' => $uid, 'distribution_channel_id' => $channel_id,
  32. 'pay_redirect_url' => $continue_link, 'activity_id' => 15871, 'crm' => 'crm_national'
  33. ]);
  34. $this->statsDetail($uid, 'crm_national');
  35. return view('crm.notionalDay')->with(compact('sign_configs', 'bonus', 'continue_link', 'pay_link'));
  36. }
  37. private function getUserColumnValue(string $column)
  38. {
  39. $user = app()->make('user');
  40. if ($user) {
  41. return $user->$column;
  42. }
  43. }
  44. private function statsDetail($uid, $page, $bid = 0)
  45. {
  46. try {
  47. DB::table('crm_visit_detail')->insert([
  48. 'uid' => $uid, 'page' => $page,
  49. 'bid' => $bid, 'day' => date('Y-m-d'),
  50. 'created_at' => date('Y-m-d H:i:s'),
  51. 'updated_at' => date('Y-m-d H:i:s')
  52. ]);
  53. } catch (\Exception $e) { }
  54. }
  55. }