Activity.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. namespace app\clientweb\controller;
  3. use app\common\controller\ClientWeb;
  4. use app\common\library\Redis;
  5. use app\main\constants\ActivityConstants;
  6. use app\main\constants\ClientWebConstants;
  7. use app\main\service\AdminService;
  8. use app\main\service\ClientAppService;
  9. use app\main\service\UserService;
  10. use think\Config;
  11. use think\Cookie;
  12. use think\Request;
  13. use think\Url;
  14. use app\main\constants\PayConstants;
  15. use app\main\constants\UserConstants;
  16. class Activity extends ClientWeb
  17. {
  18. public function index()
  19. {
  20. $rid = intval($_GET['rid'] ?? 0);
  21. $aid = intval($_GET['id'] ?? 0);
  22. if (empty($aid)) {
  23. $this->error('活动不存在');
  24. }
  25. $is_range = 0;
  26. if ($this->isLogin) {
  27. UserService::instance()->setUserCache($this->userid);
  28. $user_id = UserService::instance()->getUserInfo()->id;
  29. $admin_id = UserService::instance()->getAdminId()->data;
  30. $channel_id = UserService::instance()->getUserInfo()->channel_id;
  31. } else {
  32. //拉取系统默认设置
  33. $user_id = $this->userid;
  34. $admin_id = $channel_id = Config::get('site.fake_channel_id');
  35. }
  36. if ($this->request->has('isrange') || $this->request->has('isRange')) {
  37. $is_range = 1;
  38. }
  39. if ($this->request->has('visitor')) {
  40. Cookie::set('visitor', $this->request->get('visitor'));
  41. }
  42. /**
  43. * 获取渠道商/代理商资料
  44. */
  45. $adminExtend = AdminService::instance()->getAdminExtendModel()->where(['admin_id' => $admin_id])->find();
  46. if (!$adminExtend) {
  47. $this->error('管理员信息获取失败');
  48. }
  49. $activityInfo = model('Activity')->where('id', $aid)->find();
  50. $isGiveAct = $activityInfo['type'] == ActivityConstants::ACTIVITY_TYPE_GIVE;
  51. $res = model('resource')->join('activity a', 'a.id=resource.activity_id')->where('a.id', $aid)
  52. ->field('a.starttime,a.endtime,a.status as astatus,a.name as aname,resource.*')->order('resource.weigh', 'desc')->find();
  53. if(!$res){
  54. $this->error('活动不存在');
  55. }
  56. if ($res['goods_id'] > 0) {
  57. $goodsInfo = model('Goods')->where('id', $res['goods_id'])->find();
  58. if ($goodsInfo) {
  59. $res['money'] = $goodsInfo['money'];
  60. }
  61. }
  62. $recent_url = getCurrentDomain($channel_id, '/index/user/recent');
  63. $this->assign('recent_url', $recent_url);
  64. if ($res['activity_id'] == 100) {
  65. if (UserService::instance()->getUserInfo()->is_pay == UserConstants::USER_IS_PAY_YES) {
  66. $is_range = 1;
  67. }
  68. }
  69. if($res['endtime'] < $this->time||empty($res['astatus'])){
  70. $this->assign('isend',1);
  71. }
  72. if($res['starttime'] > $this->time && !empty($res['astatus'])){
  73. $this->assign('needWait',1);
  74. $lastTime = $this->lastTime($res['starttime']);
  75. $this->assign('lastTime',$lastTime);
  76. }
  77. $arr = [];
  78. array_push($arr,"\r\n");
  79. array_push($arr,"\r");
  80. array_push($arr,"\n");
  81. $pay_url = '';
  82. $res['warning'] = str_replace($arr,"<br/>",$res['warning']);
  83. $to_url = ClientAppService::instance()->parseAppUrl('book', []);
  84. $payment_method = empty($admin_info['payment_method']) ? '0' : '1';
  85. $this->assign('res', $res);
  86. $this->assign('isGiveAct', $isGiveAct);
  87. $this->assign('payment_method', $payment_method);
  88. $this->assign('aid', $res['activity_id']);
  89. $this->assign('payUrl', $pay_url);
  90. $this->assign('toUrl', $to_url);
  91. $this->assign('goods_id', $res['goods_id']);
  92. $this->assign('isRange', $is_range);
  93. return $this->fetch();
  94. }
  95. }