Forráskód Böngészése

Merge remote-tracking branch 'origin/stabble' into stabble

tusx 5 éve
szülő
commit
286902ee58

+ 7 - 0
app/Http/Controllers/Wap/Book/ChapterController.php

@@ -15,6 +15,7 @@ use App\Modules\Subscribe\Services\CrmChapterOrderDetailService;
 use App\Modules\Subscribe\Services\CustomChapterOrderService;
 use App\Modules\Subscribe\Services\OrderService;
 use App\Modules\Subscribe\Models\Order;
+use App\Modules\User\Services\CrmUserService;
 use App\Modules\User\Services\ForceGuidePersonAccountService;
 use App\Modules\User\Services\ForceSubscribeUserIService;
 use App\Modules\User\Services\ReadRecordStatsService;
@@ -1580,6 +1581,12 @@ class ChapterController extends BaseController
             }
             return true;
         }
+        //crm上架
+        if($book_info->is_on_shelf == 5){
+            if(!CrmUserService::isCrmUser($this->uid,$this->is_paid)){
+                return true;
+            }
+        }
         return false;
     }
 

+ 10 - 0
app/Http/Controllers/Wap/User/CoflController.php

@@ -507,6 +507,7 @@ class CoflController extends Controller
 
     private function stats($page,$flag){
         if(!$page || !$flag) return ;
+        $flag = trim($flag);
         //pv
         $day = date('Y-m-d');
         $pv_key = sprintf('crm:pv:%s',$flag);
@@ -613,6 +614,12 @@ class CoflController extends Controller
         $uid = $request->get('uid',0);
         //$user_cookie = Cookie::get(env('COOKIE_AUTH_WEB_WECHAT'));
         //$uid = $user_cookie ? decrypt($user_cookie) : null;
+        $cookie_crm_img = Cookie::get('crm_person_img');
+        $cookie_crm_name = Cookie::get('crm_person_name','');
+        if($cookie_crm_img){
+            return view('jump.guidePersonalAccountOurs',['img'=>$cookie_crm_img,'name'=>$cookie_crm_name]);
+        }
+
         $env_config = redisEnvMulti('ACTIVE_GUIDE_PERSONAL_ACCOUNT_OURS_QRCODE',
             'ACTIVE_GUIDE_PERSONAL_ACCOUNT_MAX_UV','ACTIVE_GUIDE_PERSONAL_ACCOUNT_ID',
             'ACTIVE_GUIDE_PERSONAL_ACCOUNT_MAX_EVERY_UV');
@@ -686,6 +693,9 @@ class CoflController extends Controller
             $page = 'jump.guidePersonalAccountOurs';
         }*/
         $page = 'jump.guidePersonalAccountOurs';
+        $time = strtotime(date('Y-m-d',time()+86400))-time();
+        Cookie::queue('crm_person_img', $img,$time);
+        Cookie::queue('crm_person_name', $name,$time);
         //$page = 'jump.guidePersonalAccount';
         //$img = collect($imgs)->random();
         return view($page,['img'=>$img,'name'=>$name]);

+ 4 - 4
app/Http/Controllers/Wap/Web/ActivityController.php

@@ -351,9 +351,9 @@ class ActivityController extends BaseController
     public function summerHoliday(Request $request)
     {
 
-        //$encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
-        $encode_distribution_channel_id = 2;
-        $sites = env('YEAR_ACTIVITY_CHANNEL', '');
+        $encode_distribution_channel_id = encodeDistributionChannelId($this->distribution_channel_id);
+        //$encode_distribution_channel_id = 2;
+        /*$sites = env('YEAR_ACTIVITY_CHANNEL', '');
         $not_access_url = env('H5_SCHEME', 'https') . '://site' . $encode_distribution_channel_id . '.' . env('CUSTOM_HOST') . '.com/';
         if (empty($sites)) {
             return redirect()->to($not_access_url);
@@ -361,7 +361,7 @@ class ActivityController extends BaseController
         $site_arr = explode(',', $sites);
         if (!in_array($this->distribution_channel_id, $site_arr)) {
             return redirect()->to($not_access_url);
-        }
+        }*/
         $token = $request->input('token');
         $activity_info = ActivityService::getByToken($token);
         if (!$activity_info) {

+ 3 - 1
app/Http/Middleware/EncryptCookies.php

@@ -25,6 +25,8 @@ class EncryptCookies extends BaseEncrypter
         'cpc_ad_status',
         'crm',
         'crm_flag',
-        'is_paid'
+        'is_paid',
+        'crm_person_img',
+        'crm_person_name'
     ];
 }

+ 13 - 0
app/Modules/Subscribe/Services/BookOrderService.php

@@ -42,6 +42,19 @@ class BookOrderService
     }
 
     /**
+     * 三日内是否订阅短片 crm上架状态需要
+     * @param $uid
+     * @return mixed
+     */
+    public static function isHasBookOrderInThreeDay($uid){
+        $result =  BookOrder::where('uid',$uid)->select('id')->where('created_at','>=',date('Y-m-d',time()-86400*3))->first();
+        if($result){
+            return true;
+        }
+        return false;
+    }
+
+    /**
      * 根据用户id获取用户的订购记录
      * @param $uid  用户id
      * @param string $startTime 开始时间

+ 13 - 0
app/Modules/Subscribe/Services/ChapterOrderService.php

@@ -206,4 +206,17 @@ class ChapterOrderService
 
     }
 
+    //三日内是否有订阅 crm上架需要
+    public static function isHasChapterOrderInThreeDay(int $uid)
+    {
+        $chapterOrder = new ChapterOrder();
+        $chapterOrder->setCurrentTable($uid);
+
+        $info = $chapterOrder->where('uid',$uid)->where('created_at','>=',date('Y-m-d',time()-86400*3))->select('id')->first();
+        if($info){
+            return true;
+        }
+        return false;
+    }
+
 }

+ 11 - 0
app/Modules/User/Models/CrmUser.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Modules\User\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+class CrmUser extends Model
+{
+    protected $table = 'crm_users';
+    protected $fillable = ['uid','is_enable'];
+}

+ 53 - 0
app/Modules/User/Services/CrmUserService.php

@@ -0,0 +1,53 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: z-yang
+ * Date: 2019/7/18
+ * Time: 10:09
+ */
+
+namespace App\Modules\User\Services;
+
+use App\Modules\Subscribe\Services\BookOrderService;
+use App\Modules\Subscribe\Services\ChapterOrderService;
+use App\Modules\User\Models\CrmUser;
+
+class CrmUserService
+{
+    public static function isCrmUser($uid,$is_paid){
+        $model = new CrmUser();
+        $crmuser = $model->where('uid',$uid)->where('is_enable',1)->select('id')->first();
+        if($crmuser) return true;
+        //是否充值过
+        if(!$is_paid) return false;
+        //是否领过书币
+        if(!UserBindHkWelfareService::isHasGetCrm($uid)){
+            return false;
+        }
+        //3日内有订阅
+        //本订
+        if(BookOrderService::isHasBookOrderInThreeDay($uid)){
+            self::create($uid);
+            return true;
+        }
+        //章订
+        if(ChapterOrderService::isHasChapterOrderInThreeDay($uid)){
+            self::create($uid);
+            return true;
+        }
+
+        return false;
+    }
+
+    private static function create(int $uid){
+        $model = new CrmUser();
+        $crmuser = $model->where('uid',$uid)->where('is_enable',0)->select('id')->first();
+        if($crmuser){
+            $crmuser->is_enable = 1;
+            $crmuser->save();return ;
+        }
+        $model->uid = $uid;
+        $model->is_enable = 1;
+        $model->save();
+    }
+}

+ 9 - 0
app/Modules/User/Services/UserBindHkWelfareService.php

@@ -20,6 +20,15 @@ class UserBindHkWelfareService
         return   $result;
     }
 
+    public static function isHasGetCrm(int $uid){
+        $result = UserBindHkWelfare::join('users','users.openid','=','user_bind_hk_welfare.openid')
+            ->where('users.id',$uid)
+            ->where('user_bind_hk_welfare.type','CRM')
+            ->select('user_bind_hk_welfare.id','user_bind_hk_welfare.fee','users.distribution_channel_id','users.id as uid')
+            ->first();
+        return   $result;
+    }
+
     public static function getfreeCurrency($uid,$fee=200,$type='BIND_HK',$source=''){
         if(self::isHasGet($uid)){
             return false;

+ 4 - 4
resources/views/wap/index.blade.php

@@ -9,7 +9,7 @@
     <script>window.VueRouter || document.write('<script src="https://cdn-novel.iycdm.com/static/vue-router.min.js"><\/script>')</script>
     <script>(window.Vue && window.VueLazyload) || document.write('<script src="https://cdn-novel.iycdm.com/static/vue-lazyload.js"><\/script>')</script>
     <title>{{$title}}</title>
-    <link href=https://cdn-novel.iycdm.com/static2019-7-15/css/app.5db293bddca77837e600717fe21ed62b.css rel=stylesheet>
+    <link href=https://cdn-novel.iycdm.com/static2019-7-18/css/app.7a31796c7887d9c3168a60ca47e59f45.css rel=stylesheet>
 </head>
 <body>
 <div id=app></div>
@@ -32,8 +32,8 @@
     })();</script>
 <script id=options>window.options = {!! $options!!};</script>
 <script type=text/javascript
-        src=https://cdn-novel.iycdm.com/static2019-7-15/js/manifest.0dc099fe1f59eb306736.js></script>
-<script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-7-15/js/vendor.cd37d0f2c51da0dd309b.js></script>
-<script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-7-15/js/app.2d1c8bb7068387aea1e5.js></script>
+        src=https://cdn-novel.iycdm.com/static2019-7-18/js/manifest.d22076b4a964595eed04.js></script>
+<script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-7-18/js/vendor.cd37d0f2c51da0dd309b.js></script>
+<script type=text/javascript src=https://cdn-novel.iycdm.com/static2019-7-18/js/app.c178df4282ab7892cc0d.js></script>
 </body>
 </html>