Browse Source

Merge branch 'master' into feature-wechat

zhaoyang 1 year ago
parent
commit
d33e3eb1af

+ 1 - 1
config/database.php

@@ -121,7 +121,7 @@ return [
 
     'redis' => [
 
-        'client' => env('REDIS_CLIENT', 'phpredis'),
+        'client' => env('REDIS_CLIENT', 'predis'),
 
         'options' => [
             'cluster' => env('REDIS_CLUSTER', 'redis'),

+ 61 - 0
modules/Manage/Http/Controllers/MiniprogramController.php

@@ -3,6 +3,7 @@
 namespace Modules\Manage\Http\Controllers;
 
 use Catch\Exceptions\FailedException;
+use Illuminate\Foundation\Validation\ValidatesRequests;
 use Illuminate\Routing\Controller;
 use Catch\Base\CatchController;
 use Illuminate\Http\Request;
@@ -22,6 +23,7 @@ class MiniprogramController extends CatchController
 {
 
     use UserTrait;
+    use ValidatesRequests;
 
     public function __construct(protected readonly Miniprogram $miniprogram, protected readonly UserHasMiniprograms $userHasMiniprograms)
     {
@@ -332,4 +334,63 @@ class MiniprogramController extends CatchController
         $group['all'] = $result->toArray();
         return $group;
     }
+
+    /**
+     * 设置染色时间
+     * @param Request $request
+     */
+    public function setRanseDuration(Request $request) {
+        $this->validate($request, [
+            'no_charge_user_duration' => 'required|integer|min:0',
+            'charge_user_duration' => 'required|integer|gte:no_charge_user_duration',
+            'miniprogram_id' => 'required|min:1',
+        ]);
+        $uid = $this->getLoginUserId();
+        $now = date('Y-m-d H:i:s');
+        DB::table('ranse_config')
+            ->where([
+                ['user_id', '=', $uid],
+                ['is_enabled', '=', 1],
+                ['miniprogram_id', '=', $request->input('miniprogram_id')]
+            ])
+            ->update(['is_enabled' => 0, 'updated_at' => $now]);
+        DB::table('ranse_config')
+            ->insert([
+                'user_id' => $uid, 'is_enabled' => 1,
+                'no_charge_user_duration' => $request->input('no_charge_user_duration'),
+                'charge_user_duration' => $request->input('charge_user_duration'),
+                'miniprogram_id' => $request->input('miniprogram_id'),
+                'created_at' => $now, 'updated_at' => $now,
+            ]);
+
+        return 'ok';
+    }
+
+    /**
+     * 获取染色时间
+     * @param Request $request
+     * @return array
+     */
+    public function getRanseDuration(Request $request) {
+        $uid = $this->getLoginUserId();
+
+        $config = DB::table('ranse_config')
+            ->where([
+                ['user_id', '=', $uid],
+                ['is_enabled', '=', 1],
+                ['miniprogram_id', '=', $request->input('miniprogram_id')]
+            ])
+            ->first();
+        if(!$config) {
+            $config = DB::table('ranse_config')
+                ->where([
+                    'user_id' => 0, 'miniprogram_id' => 0, 'is_enabled' =>1
+                ])->first();
+        }
+
+        return [
+            'charge_user_duration' => $config->charge_user_duration,
+            'no_charge_user_duration' => $config->no_charge_user_duration,
+        ];
+    }
 }

+ 7 - 0
modules/Manage/routes/route.php

@@ -32,8 +32,15 @@ Route::prefix('manage')->group(function(){
         Route::get('companylist',[MiniprogramController::class,'companyList'])
         ->withoutMiddleware(config('catch.route.middlewares'));
 
+        Route::prefix('ranseConfig')->middleware('roleCheck:company')->group(function(){
+            Route::get('getRanseDuration', [MiniprogramController::class, 'getRanseDuration']);
+            Route::post('setRanseDuration', [MiniprogramController::class, 'setRanseDuration']);
+        });
+
     });
 
+
+
     Route::prefix('payConfig')->group(function(){
        Route::get('list', [PayConfigController::class, 'list']);
        Route::post('remark', [PayConfigController::class, 'remark']);

+ 9 - 7
modules/Statistic/Http/Controllers/VideoStatController.php

@@ -18,12 +18,12 @@ class VideoStatController extends CatchController
     use UserTrait;
     public function __construct(protected readonly VideoStatByCompany $videoStatByCompany)
     {
-        
+
     }
 
     public function index(Request $request)
     {
-        
+
         if(!$this->isCompanyManager()){
             return [];
         }
@@ -32,9 +32,11 @@ class VideoStatController extends CatchController
         $is_export = $request->get('is_export');
         $where = $this->requestParam($request);
         if($is_export){
-            $result = $this->videoStatByCompany->where($where)->select('day','video_name','video_id','amount','charge_count','charge_user_num','play_count')->get();
+            $result = $this->videoStatByCompany->where($where)
+                ->select('day','video_name','video_id','amount','charge_count','charge_user_num','play_count', 'click_uv')->get();
         }else{
-            $result = $this->videoStatByCompany->where($where)->select('day','video_name','video_id','amount','charge_count','charge_user_num','play_count')->paginate($limit);
+            $result = $this->videoStatByCompany->where($where)
+                ->select('day','video_name','video_id','amount','charge_count','charge_user_num','play_count', 'click_uv')->paginate($limit);
         }
         return $result;
     }
@@ -67,7 +69,7 @@ class VideoStatController extends CatchController
         $video_name = $request->get('video_name');
         $start_date = $request->get('start_date');
         $end_date = $request->get('end_date');
-        
+
         if(!$end_date){
             $end_date = $default_end_time;
         }else{
@@ -86,12 +88,12 @@ class VideoStatController extends CatchController
             ['day','>=',$start_date->format('Y-m-d')],
             ['day','<=',$end_date->format('Y-m-d')]
         ];
-        
+
         if(trim($video_name)){
             $where[] = ['video_name','like','%'.trim($video_name).'%'];
         }
         return $where;
     }
 
- 
+
 }

+ 2 - 1
modules/Statistic/Models/VideoStatByCompany.php

@@ -10,7 +10,8 @@ class VideoStatByCompany extends BaseModel
     protected $table = 'video_stat_by_company';
 
     protected $fillable = [
-        'id', 'day', 'user_id', 'video_name', 'video_id', 'amount', 'charge_count', 'charge_user_num', 'play_count', 'is_delete', 'created_at', 'updated_at', 
+        'id', 'day', 'user_id', 'video_name', 'video_id', 'amount', 'charge_count',
+        'charge_user_num', 'play_count', 'is_delete', 'created_at', 'updated_at', 'click_uv',
     ];
 
 }

+ 0 - 71
modules/Tuiguang/Http/Controllers/RanseConfigController.php

@@ -1,71 +0,0 @@
-<?php
-
-namespace Modules\Tuiguang\Http\Controllers;
-
-use Catch\Base\CatchController;
-use Illuminate\Foundation\Validation\ValidatesRequests;
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\DB;
-use Modules\Common\Errors\Errors;
-use Modules\Common\Exceptions\CommonBusinessException;
-use Modules\User\Http\Controllers\UserTrait;
-
-class RanseConfigController extends CatchController
-{
-    use UserTrait;
-    use ValidatesRequests;
-    /**
-     * 设置染色时间
-     * @param Request $request
-     */
-    public function setRanseDuration(Request $request) {
-        $this->validate($request, [
-            'no_charge_user_duration' => 'required|integer|min:0',
-            'charge_user_duration' => 'required|integer|gte:no_charge_user_duration',
-        ]);
-        $uid = $this->getOptimizerUid();
-        if(!$uid) {
-            CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION);
-        }
-        $now = date('Y-m-d H:i:s');
-        DB::table('ranse_config')->where('user_id', $uid)
-            ->where('is_enabled', 1)
-            ->update(['is_enabled' => 0, 'updated_at' => $now]);
-        DB::table('ranse_config')
-            ->insert([
-                'user_id' => $uid, 'is_enabled' => 1,
-                'no_charge_user_duration' => $request->input('no_charge_user_duration'),
-                'charge_user_duration' => $request->input('charge_user_duration'),
-                'created_at' => $now, 'updated_at' => $now,
-            ]);
-
-        return 'ok';
-    }
-
-    /**
-     * 获取染色时间
-     * @param Request $request
-     * @return array
-     */
-    public function getRanseDuration(Request $request) {
-        $uid = $this->getOptimizerUid();
-        if(!$uid) {
-            CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION);
-        }
-
-        $config = DB::table('ranse_config')->where('user_id', $uid)
-            ->where('is_enabled', 1)
-            ->first();
-        if(!$config) {
-            $config = DB::table('ranse_config')
-                ->where([
-                    'user_id' => 0, 'miniprogram_id' => 0, 'is_enabled' =>1
-                ])->first();
-        }
-
-        return [
-            'charge_user_duration' => $config->charge_user_duration,
-            'no_charge_user_duration' => $config->no_charge_user_duration,
-        ];
-    }
-}

+ 0 - 6
modules/Tuiguang/routes/route.php

@@ -2,7 +2,6 @@
 
 use Illuminate\Support\Facades\Route;
 use Modules\Tuiguang\Http\Controllers\PromotionController;
-use Modules\Tuiguang\Http\Controllers\RanseConfigController;
 
 Route::prefix('tuiguang')->group(function () {
     Route::prefix('promotion')->group(function(){
@@ -12,10 +11,5 @@ Route::prefix('tuiguang')->group(function () {
         Route::post('add', [PromotionController::class, 'add']);
         Route::post('updateCallbackConfig', [PromotionController::class, 'updateCallbackConfig']);
     });
-
-    Route::prefix('ranseConfig')->group(function(){
-        Route::get('getRanseDuration', [RanseConfigController::class, 'getRanseDuration']);
-        Route::post('setRanseDuration', [RanseConfigController::class, 'setRanseDuration']);
-    });
 });
 

+ 6 - 2
modules/WechatPlatform/Http/Controllers/WechatAuthorizationInfoController.php

@@ -48,7 +48,7 @@ class WechatAuthorizationInfoController extends CatchController
         ->join('miniprogram','wechat_open_platform_infos.xcx_appid','=','miniprogram.appid')
         ->join('users','users.id','=','wechat_authorization_infos.user_id')
         ->select('wechat_authorization_infos.nick_name','wechat_authorization_infos.authorizer_appid','miniprogram.name as xcx_name',
-        'wechat_authorization_infos.authorizer_refresh_token','users.username'
+        'wechat_authorization_infos.authorizer_refresh_token','users.username','wechat_authorization_infos.id'
         ,'wechat_open_platform_infos.app_id','wechat_open_platform_infos.secret','wechat_open_platform_infos.token','wechat_open_platform_infos.aes_key')
         ->paginate($page_size);
 
@@ -58,12 +58,16 @@ class WechatAuthorizationInfoController extends CatchController
             $item->fans_count = 0;
             $application = WechatOpenPlatformService::buildApplication($item);
             try{
+                /*
                 $officialAccount = $application->getOfficialAccountWithRefreshToken($item->authorizer_appid, $item->authorizer_refresh_token);
                 $api = $officialAccount->getClient();
                 $response = $api->get('/cgi-bin/user/list', []);
                 if($response->isSuccessful()){
                     $item->fans_count = $response['total'];
-                }
+                }*/
+                $officialAccount = $application->officialAccount($item->authorizer_appid);
+                $users = $officialAccount->user->list();  // $n
+                $item->fans_count = $users['total'];
             }catch(Exception $e){
                 myLog('WechatAuthorizationInfo')->error($e);
             }