12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?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);
- }
- private function getAdvs($uid) {
- $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);
- }
- }
|