|
@@ -0,0 +1,72 @@
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+namespace App\Http\Controllers\Wap\Advertise;
|
|
|
|
+
|
|
|
|
+use App\Http\Controllers\Wap\BaseController;
|
|
|
|
+
|
|
|
|
+use App\Modules\Activity\Services\AdvertiseService;
|
|
|
|
+use App\Modules\Activity\Services\AdvertiseUsersService;
|
|
|
|
+use Illuminate\Http\Request;
|
|
|
|
+use Redis;
|
|
|
|
+use Hashids;
|
|
|
|
+use DB;
|
|
|
|
+
|
|
|
|
+class AdvertiseController extends BaseController
|
|
|
|
+{
|
|
|
|
+ public static function jump(Request $request){
|
|
|
|
+ $bid=$request->input('bid','');
|
|
|
|
+ $uid=$request->input('uid','');
|
|
|
|
+ Redis::incr("advertise_jump_h5_pv:");
|
|
|
|
+ if(empty($bid)||empty($uid)){
|
|
|
|
+ return response()->error('PARAM_ERROR');
|
|
|
|
+ }
|
|
|
|
+ $ads = AdvertiseService::getAds();
|
|
|
|
+ $timestamp = time();
|
|
|
|
+ $private_key = '^^zhuishuyun';
|
|
|
|
+ $pre_str = arr_to_url(compact('bid','uid','timestamp'));
|
|
|
|
+ $my_sign = md5($pre_str.$private_key);
|
|
|
|
+ return view()->with(['params'=>compact('bid','uid','timestamp','my_sign'),'ads'=>$ads]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static function jumpToSource(Request $request){
|
|
|
|
+ $bid=$request->input('bid','');
|
|
|
|
+ $uid=$request->input('uid','');
|
|
|
|
+ $ad =$request->input('ad','');
|
|
|
|
+ $timestamp = $request->input('timestamp','');
|
|
|
|
+ $sign = $request->input('sign','');
|
|
|
|
+ if(empty($bid)||empty($uid)||empty($ad)){
|
|
|
|
+ return response()->error('PARAM_EMPTY');
|
|
|
|
+ }
|
|
|
|
+ //签名
|
|
|
|
+ $pre_str = arr_to_url(compact('bid','uid','timestamp'));
|
|
|
|
+ $private_key = '^^zhuishuyun';
|
|
|
|
+ $my_sign = md5($pre_str.$private_key);
|
|
|
|
+ //签名时间超过两小时过期
|
|
|
|
+ $now = time();
|
|
|
|
+ if(($now-$timestamp) > 60*60*2){
|
|
|
|
+ return response()->error('PARAM_ERROR');
|
|
|
|
+ }
|
|
|
|
+ if($my_sign != $sign){
|
|
|
|
+ return response()->error('PARAM_ERROR');
|
|
|
|
+ }
|
|
|
|
+ $bid=Hashids::decode($bid)[0];
|
|
|
|
+ AdvertiseUsersService::addOrUpdateAdUsers(['bid'=>$bid,'uid'=>$uid,'advertise_id'=>$ad]);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function getAds(Request $request){
|
|
|
|
+ $uid=$request->input('uid','');
|
|
|
|
+ if(empty($uid)) {
|
|
|
|
+ return response()->error('PARAM_EMPTY');
|
|
|
|
+ }
|
|
|
|
+ $ads = AdvertiseService::getAds();
|
|
|
|
+ foreach ($ads as &$ad){
|
|
|
|
+ $adv = AdvertiseUsersService::getOne(['uid'=>$uid]);
|
|
|
|
+ if($adv){
|
|
|
|
+ $ad->is_download=1;
|
|
|
|
+ }else{
|
|
|
|
+ $ad->is_download =0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return response()->success($ads);
|
|
|
|
+ }
|
|
|
|
+}
|