|
@@ -4,8 +4,11 @@ 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 App\Modules\Cpa\Services\AdvertiseService;
|
|
|
+use App\Modules\Cpa\Services\AdvertiseUsersService;
|
|
|
+use App\Modules\Book\Services\BookConfigService;
|
|
|
+use App\Modules\Cpa\Services\AdvertiseUserQueueService;
|
|
|
+use App\Modules\User\Services\ReadRecordService;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Redis;
|
|
|
use Hashids;
|
|
@@ -13,22 +16,31 @@ 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)){
|
|
|
+ public function jump(Request $request){
|
|
|
+ //$bid=$request->input('bid','');
|
|
|
+ $uid_pre=$request->input('uid','');
|
|
|
+ if(empty($uid)){
|
|
|
return response()->error('PARAM_ERROR');
|
|
|
}
|
|
|
- $ads = AdvertiseService::getAds();
|
|
|
+ $uid = Hashids::decode($uid_pre)[0];
|
|
|
+ \Log::info('---uid:'.$uid);
|
|
|
+ $bid= ReadRecordService::getSimpleFirstReadRecord($uid); //TODO 获取最近阅读
|
|
|
+ $books_info = BookConfigService::getBookById($bid);
|
|
|
+ $book_name=$books_info->book_name;
|
|
|
+ //$bid=$books_info[''];
|
|
|
+ Redis::incr("advertise_jump_h5_pv:");
|
|
|
+
|
|
|
+ $ads = $this->getOneAd(1);
|
|
|
$timestamp = time();
|
|
|
$private_key = '^^zhuishuyun';
|
|
|
+ $bid=Hashids::encode($bid);
|
|
|
$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]);
|
|
|
+
|
|
|
+ return view('wap.advertise',['params'=>compact('bid','book_name','uid','timestamp','my_sign'),'ads'=>$ads]);
|
|
|
}
|
|
|
|
|
|
- public static function jumpToSource(Request $request){
|
|
|
+ public function jumpToSource(Request $request){
|
|
|
$bid=$request->input('bid','');
|
|
|
$uid=$request->input('uid','');
|
|
|
$ad =$request->input('ad','');
|
|
@@ -50,7 +62,19 @@ class AdvertiseController extends BaseController
|
|
|
return response()->error('PARAM_ERROR');
|
|
|
}
|
|
|
$bid=Hashids::decode($bid)[0];
|
|
|
- AdvertiseUsersService::addOrUpdateAdUsers(['bid'=>$bid,'uid'=>$uid,'advertise_id'=>$ad]);
|
|
|
+ $uid = Hashids::decode($uid)[0];
|
|
|
+ $AdUers = AdvertiseUsersService::addOrUpdateAdUsers(['bid'=>$bid,'uid'=>$uid,'advertise_id'=>$ad]);
|
|
|
+ $toQueue = array(
|
|
|
+ 'uid'=>$uid,
|
|
|
+ 'bid'=>$bid,
|
|
|
+ 'ad_user_id'=>$AdUers->id,
|
|
|
+ 'advertise_id'=>$ad,
|
|
|
+ 'add_time'=>time(),
|
|
|
+ 'status'=>0
|
|
|
+ );
|
|
|
+ AdvertiseUserQueueService::addToQueue($toQueue);
|
|
|
+ $adInfo = AdvertiseService::getOneById($ad);
|
|
|
+ header('location:'.($adInfo->source_url));
|
|
|
}
|
|
|
|
|
|
public function getAds(Request $request){
|
|
@@ -60,7 +84,7 @@ class AdvertiseController extends BaseController
|
|
|
}
|
|
|
$ads = AdvertiseService::getAds();
|
|
|
foreach ($ads as &$ad){
|
|
|
- $adv = AdvertiseUsersService::getOne(['uid'=>$uid]);
|
|
|
+ $adv = AdvertiseUsersService::getOne(['uid'=>$uid,'advertise_id'=>$ad->advertise_id]);
|
|
|
if($adv){
|
|
|
$ad->is_download=1;
|
|
|
}else{
|
|
@@ -70,16 +94,20 @@ class AdvertiseController extends BaseController
|
|
|
return response()->success($ads);
|
|
|
}
|
|
|
|
|
|
- private function getAdvs($uid) {
|
|
|
+ private static function getAdvs($uid) {
|
|
|
$ads = AdvertiseService::getAds();
|
|
|
foreach ($ads as &$ad){
|
|
|
- $adv = AdvertiseUsersService::getOne(['uid'=>$uid]);
|
|
|
+ $adv = AdvertiseUsersService::getOne(['uid'=>$uid,'advertise_id'=>$ad->advertise_id]);
|
|
|
if($adv){
|
|
|
$ad->is_download=1;
|
|
|
}else{
|
|
|
$ad->is_download =0;
|
|
|
}
|
|
|
}
|
|
|
- return response()->success($ads);
|
|
|
+ return $ads;
|
|
|
+ }
|
|
|
+ private function getOneAd($id) {
|
|
|
+ $ads = AdvertiseService::getOneById($id);
|
|
|
+ return $ads;
|
|
|
}
|
|
|
}
|