ActivityController.php 1.9 KB

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