ActivityController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. $is_sign = $userNationalDay->is_sign;
  21. $userNationalDay->sign();
  22. $sign_configs = $userNationalDay->getSignConfigs();
  23. $bonus = $userNationalDay->bonus;
  24. $is_begin = $userNationalDay->is_begin;
  25. $is_end = $userNationalDay->is_end;
  26. $continue_link = sprintf(
  27. '%s://site%s.%s.com/recent',
  28. env('PROTOCOL'),
  29. encodeDistributionChannelId($this->getUserColumnValue('channel_id')),
  30. env('CUSTOM_HOST')
  31. );
  32. $pay_link = env('CREATE_PAY_URL') . '?' . http_build_query([
  33. 'product_id' => $userNationalDay->product_id,
  34. 'uid' => $uid, 'distribution_channel_id' => $channel_id,
  35. 'pay_redirect_url' => $continue_link, 'activity_id' => 15871, 'crm' => 'crm_national'
  36. ]);
  37. $this->statsDetail($uid, 'crm_national');
  38. return view('crm.notionalDay')->with(compact('sign_configs', 'is_sign', 'bonus', 'is_begin', 'is_end', 'continue_link', 'pay_link'));
  39. }
  40. private function getUserColumnValue(string $column)
  41. {
  42. $user = app()->make('user');
  43. if ($user) {
  44. return $user->$column;
  45. }
  46. }
  47. private function statsDetail($uid, $page, $bid = 0)
  48. {
  49. try {
  50. DB::table('crm_visit_detail')->insert([
  51. 'uid' => $uid, 'page' => $page,
  52. 'bid' => $bid, 'day' => date('Y-m-d'),
  53. 'created_at' => date('Y-m-d H:i:s'),
  54. 'updated_at' => date('Y-m-d H:i:s')
  55. ]);
  56. } catch (\Exception $e) { }
  57. }
  58. }