toosin 6 anni fa
parent
commit
bedffcba62

+ 72 - 0
app/Http/Controllers/Wap/advertise/AdvertiseController.php

@@ -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);
+    }
+}

+ 19 - 0
app/Http/Controllers/Wap/advertise/Transformers/AdvertiseTransformer.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Http\Controllers\Wap\Advertise\Transformers;
+
+class AdvertiseTransformer
+{
+    public function transform($order){
+        return [
+            'merchant_order_id'       =>  $order->merchant_order_id,
+            'user_id'       =>  $order->user_id,
+            'user_nickname'       =>  $order->user_nickname,
+            'pay_money'       =>  (int)$order->pay_money/100,
+            'pay_flag'   =>  $order->pay_flag,
+            'pay_time'   =>  $order->pay_time ? date('Y-m-d H:i:s',$order->pay_time) : '',
+            'send_order_id' => isset($order->send_order_id) ? $order->send_order_id : 0,
+            'send_order_name' => isset($order->send_order_name) ? $order->send_order_name : ''
+        ];
+    }
+}

+ 19 - 0
app/Modules/Cpa/Models/Advertise.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Modules\Cpa\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Advertise extends Model
+{
+    protected $table = 'advertise_products';
+    protected $fillable = ['id', 'name', 'name_desc', 'img', 'source_url', 'status'];
+
+    static function getAds($limit=''){
+        $obj = self::where('status',1);
+        if($limit){
+            $obj->limit($limit);
+        }
+        return $obj->get();
+    }
+}

+ 38 - 0
app/Modules/Cpa/Models/AdvertiseUsers.php

@@ -0,0 +1,38 @@
+<?php
+
+namespace App\Modules\Cpa\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class AdvertiseUsers extends Model
+{
+    protected $table = 'advertise_users';
+    protected $fillable = ['id', 'uid', 'bid', 'advertise_id'];
+
+    static function addAdUsers($params){
+        return self::create($params);
+    }
+
+    static function addOrUpdateAdUsers($insert,$update=''){
+        if($update){
+            return self::createOrUpdate($insert,$update);
+        }
+        return self::addOrUpdateAdUsers($insert);
+    }
+
+    static function getOne($params){
+        $obj = self::orderBy('id');
+        if(isset($params['uid'])&&$params['uid']) {
+            $obj->where('uid',$params['uid']);
+        }
+
+        if(isset($params['bid'])&&$params['bid']){
+            $obj->where('bid',$params['bid']);
+        }
+
+        if(isset($params['advertise_id'])&&$params['advertise_id']) {
+            $obj->where('advertise_id',$params['advertise_id']);
+        }
+        return $obj->first();
+    }
+}

+ 18 - 0
app/Modules/Cpa/Services/AdvertiseService.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Modules\Activity\Services;
+
+use App\Modules\Activity\Models\Activity;
+use App\Modules\Cpa\Models\Advertise;
+use App\Modules\Statistic\Services\WapVisitStatService;
+use App\Modules\Subscribe\Models\Order;
+use App\Modules\Trade\Services\OrderService;
+use DB;
+use Redis;
+
+class AdvertiseService
+{
+    public static function getAds($limit=''){
+        return Advertise::getAds($limit);
+    }
+}

+ 25 - 0
app/Modules/Cpa/Services/AdvertiseUsersService.php

@@ -0,0 +1,25 @@
+<?php
+
+namespace App\Modules\Activity\Services;
+
+use App\Modules\Activity\Models\Activity;
+use App\Modules\Activity\Models\ActivitySwitch;
+use App\Modules\Cpa\Models\AdvertiseUsers;
+use App\Modules\Statistic\Services\WapVisitStatService;
+use App\Modules\Subscribe\Models\Order;
+use App\Modules\Trade\Services\OrderService;
+use DB;
+use Redis;
+
+class AdvertiseUsersService
+{
+    public static function addAdUsers($params){
+        return AdvertiseUsers::addAdUsers($params);
+    }
+    static function addOrUpdateAdUsers($insert,$update=''){
+        return AdvertiseUsers::addOrUpdateAdUsers($insert,$update);
+    }
+    static function getOne($params){
+        return AdvertiseUsers::getOne($params);
+    }
+}

File diff suppressed because it is too large
+ 0 - 6527971
nohup.out