Kaynağa Gözat

adding: events

joe 4 yıl önce
ebeveyn
işleme
498df26767

+ 18 - 1
app/admin/controller/Test.php

@@ -11,6 +11,9 @@ use app\api\controller\board\UserBoardController;
 use app\models\redis\SystemCarousel;
 use crmeb\services\async\task\WechatNotify;
 use think\facade\Config;
+use RobThree\Auth\TwoFactorAuth;
+use RobThree\Auth\TwoFactorAuthException;
+
 
 class Test
 {
@@ -47,8 +50,22 @@ class Test
         WechatNotify::push(WechatNotify::TYPE_COMMENT, $key, 'gdf');
     }
 
+    protected function test_2fa()
+    {
+        $tfa = new TwoFactorAuth('twong');
+        $secret = $tfa->createSecret();
+        echo 'secret:' . $secret;
+        $img = $tfa->getQRCodeImageAsDataUri('twongqr', $secret);
+        echo 'img:' . $img;
+        echo '<img src="'.$img .'" />';
+        echo 'chunk:' . chunk_split($secret, 4, ' ');
+        $code = $tfa->getCode($secret);
+        echo 'code:' . $code;
+        echo 'result:' . $tfa->verifyCode($secret, $code);
+    }
+
     public function test()
     {
-        //$this->test_wechat_robot();
+        $this->test_2fa();
     }
 }

+ 4 - 2
app/api/controller/user/UserExtractController.php

@@ -94,9 +94,11 @@ class UserExtractController
         if (!$extractInfo['cardnum'] == '')
             if (!preg_match('/^([1-9]{1})(\d{14}|\d{18})$/', $extractInfo['cardnum']))
                 return app('json')->fail('银行卡号输入有误');
-        if (UserExtract::userExtract($request->user(), $extractInfo))
+        if (UserExtract::userExtract($request->user(), $extractInfo)) {
+            event('UserRequestWithdrawal', ['user' => $user, 'info' => $extractInfo]);
             return app('json')->successful('申请提现成功!');
-        else
+        } else {
             return app('json')->fail(UserExtract::getErrorInfo('提现失败'));
+        }
     }
 }

+ 3 - 0
app/models/user/User.php

@@ -215,6 +215,9 @@ class User extends BaseModel
         ]);
         $res = $res1 && $res2;
         self::checkTrans($res);
+        if ($res) {
+            event('UserRegistered', ['user' => $res2->toArray()]);
+        }
         return $res2;
     }
 

+ 1 - 0
app/models/user/UserExtract.php

@@ -107,6 +107,7 @@ class UserExtract extends BaseModel
                     ChannelService::instance()->send('WITHDRAW', ['id'=>$res1->id]);
                 }catch (\Exception $e){}
                 event('AdminNewPush');
+                event('UserRequestWithdrawal', ['user'=> $userInfo, 'info' => $insertData]);
                 //发送模板消息
                 return true;
             }else return self::setErrorInfo('提现失败!');

+ 1 - 1
config/log.php

@@ -17,7 +17,7 @@ return [
     // 默认日志记录通道
     'default'      => Env::get('log.channel', 'file'),
     // 日志记录级别
-    'level'        => ['error','warning'],
+    'level'        => ['error','warning','debug'],
     // 日志类型记录的通道 ['error'=>'email',...]
     'type_channel' => [],
     // 是否关闭日志写入

+ 3 - 0
crmeb/subscribes/OrderSubscribe.php

@@ -129,6 +129,9 @@ class OrderSubscribe
         //更新用户支付订单数量
         $userInfo = User::get($order['uid']);
         if ($userInfo) {
+            if (intval($userInfo->pay_count) <= 0) {
+                event('UserFirstOrder', ['order' => $order]);
+            }
             $userInfo->pay_count = $userInfo->pay_count + 1;
             if (!$userInfo->is_promoter) {
                 $price = StoreOrder::where(['paid' => 1, 'refund_status' => 0, 'uid' => $userInfo['uid']])->sum('pay_price');

+ 50 - 16
crmeb/subscribes/UserSubscribe.php

@@ -7,6 +7,7 @@ use app\models\user\WechatUser;
 use think\facade\Cookie;
 use app\admin\model\system\SystemAttachment;
 use app\models\user\UserLevel;
+use think\facade\Log;
 
 /**
  * 用户事件
@@ -22,18 +23,18 @@ class UserSubscribe
     }
 
     /**
-     * 管理员后台给用户添加金额
+     * 管理员后台给用户添加金额 AdminAddMoney
      * @param $event
      */
     public function onAdminAddMoney($event)
     {
         list($user, $money) = $event;
-        //$user 用户信息
-        //$money 添加的金额
+
+        Log::warning('EVENT admin add money ' . $money . ' to ' . $user['uid']);
     }
 
     /**
-     * 微信授权成功后
+     * 微信授权成功后 WechatOauthAfter
      * @param $event
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\ModelNotFoundException
@@ -91,63 +92,96 @@ class UserSubscribe
     }
 
     /**
-     * 用户访问记录
+     * 用户登录成功 UserLogin
      * @param $event
      */
-    public function onInitLogin($event)
+    public function onUserLogin($event)
     {
         list($userInfo) = $event;
         $request = app('request');
         User::edit(['last_time' => time(), 'last_ip' => $request->ip()], $userInfo->uid, 'uid');
+
+        Log::debug('EVENT user ' . $userInfo->uid . ' login.');
     }
 
     /**
-     * 检查是否能成为会员
+     * 检查是否能成为会员 UserLevelAfter
      * @param $event
      */
     public function onUserLevelAfter($event)
     {
         list($userUid) = $event;
-        UserLevel::setLevelComplete($userUid);
+        try {
+            if(UserLevel::setLevelComplete($userUid)) {
+                event('UserLevelUp', $event);
+            }
+        } catch (\Exception $e) {
+
+        }
+    }
+    
+    /**
+     * 用户升级成功 UserLevelUp
+     */
+    public function onUserLevelUp($event)
+    {
+        list($userUid) = $event;
+        $userinfo = User::get($userUid);
+
+        Log::debug("EVENT user " . $userUid . ' update to level ' . $userinfo['level']);
     }
 
     /**
-     * 新用戶注冊
+     * 新用戶注冊 UserRegistered
      */
     public function onUserRegistered($event)
     {
-        echo 'onUserRegistered?';
+        list($user) = $event;
+
+        Log::debug('EVENT new user registered:' . $user['uid']);
     }
 
     /**
-     * 首次下訂單
+     * 首次下訂單 UserFirstOrder
      */
     public function onUserFirstOrder($event)
     {
+        list($order) = $event;
 
+        Log::debug('EVENT user ' . $order['uid'] . ' first order:' . $order['id']);
     }
 
     /**
-     * 首次挖礦得到弊
+     * 用戶提現 UserRequestWithdrawal
      */
-    public function onUserFirstDig($event)
+    public function onUserRequestWithdrawal($event)
     {
+        list($user, $info) = $event;
 
+        Log::debug('EVENT user ' . $user['uid'] . ' withdraw ' . mapped_implode(',', $info));
     }
 
     /**
-     * 用戶提現
+     * 首次挖礦得到弊 UserFirstDig
      */
-    public function onUserWithdrawal($event)
+    public function onUserFirstDig($event)
     {
 
     }
 
     /**
-     * 用户提币
+     * 用户提币 UserWithdrawalCoin
      */
     public function onUserWithdrawalCoin($event)
     {
 
     }
+
+    /**
+     * 用户参加活动 UserActivity
+     */
+    public function onUserActivity($event)
+    {
+        
+    }
 }