From 99826227ca25868b400076b7be1114227baf72b1 Mon Sep 17 00:00:00 2001
From: zhaojs <349234519@qq.com>
Date: 星期一, 31 七月 2023 16:56:24 +0800
Subject: [PATCH] Merge tag '新增微信的猜你喜欢' into develop

---
 application/api/controller/User.php |   99 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 7 deletions(-)

diff --git a/application/api/controller/User.php b/application/api/controller/User.php
index ca225c3..1b1171f 100644
--- a/application/api/controller/User.php
+++ b/application/api/controller/User.php
@@ -19,13 +19,16 @@
 use app\api\logic\SettlementRecord as LogicSettlementRecord;
 use app\api\logic\UserMoneyLog as LogicUserMoneyLog;
 use think\log;
-
+use app\api\logic\ActivityInfo as InfoActivityInfo;
+use app\common\model\UserExtend as ModelUserExtend;
+use think\Db;
+use EasyWeChat\Kernel\Support\AES;
 /**
  * 浼氬憳鎺ュ彛
  */
 class User extends Api
 {
-    protected $noNeedLogin = ['GetRecomInviter','login', 'mobilelogin', 'resetpwd', 'changemobile', 'wxapplogin','bind_mobile_login','register'];
+    protected $noNeedLogin = ['GetDfgToken','GetRecomInviter','login', 'mobilelogin', 'resetpwd', 'changemobile', 'wxapplogin','bind_mobile_login','register'];
     protected $noNeedRight = '*';
 
     public function _initialize()
@@ -49,6 +52,35 @@
         $userInfo['token'] = $this->auth->getToken();
         $data = ['userinfo' => $userInfo];
         $this->success('鑾峰彇鎴愬姛', $data);
+    }
+
+
+    public function GetDfgToken()
+    {
+        $userId=$this->request->post('userid');
+        if (!$userId) {
+            $this->error(__('Invalid parameters'));
+        }
+        //aes鍔犲瘑
+        $enKey="wp4hs3bvu7wq2mud";
+        $iv = 'fedcba9876543210';
+        $decrypted = base64_encode(AES::encrypt($userId,$enKey, $iv));
+        $this->success($decrypted);
+    }
+
+
+
+    /**
+     * 鏇存柊appclientid
+     */
+    public function UpdateClientId()
+    {
+        $pushCid=$this->request->post('pushcid');
+        $ModelUser = new ModelUser();
+        $userInfo = $ModelUser->where(['id'=>USERID]);
+        if(empty($userInfo)) $this->success('鎴愬姛',true);
+        $userInfo->update(['push_cid'=>$pushCid]);
+        $this->success('鎴愬姛', true);
     }
 
     /**
@@ -86,6 +118,7 @@
         $mobile = $this->request->post('mobile');
         $captcha = $this->request->post('captcha');
         $ismobouth=$this->request->post('ismobouth',false);
+        $pushCid=$this->request->post('pushCid',false);
         if (!$mobile || !$captcha) {
             $this->error(__('Invalid parameters'));
         }
@@ -103,7 +136,7 @@
             //濡傛灉宸茬粡鏈夎处鍙峰垯鐩存帴鐧诲綍
             $ret = $this->auth->direct($user->id);
         } else {
-            $ret = $this->auth->register($mobile, Random::alnum(), '', $mobile, []);
+            $ret = $this->auth->register($mobile, Random::alnum(), '', $mobile, [],'',[],$pushCid);
         }
         if ($ret) {
             Sms::flush($mobile, 'login');
@@ -213,7 +246,8 @@
         $user = $this->auth->getUser();
         $mobile = $this->request->post('mobile');
         $captcha = $this->request->post('captcha');
-        if (!$mobile || !$captcha) {
+        $isyj=$this->request->post('isyj',false);
+        if (!$mobile || (!$isyj&&!$captcha)) {
             $this->error(__('Invalid parameters'));
         }
         if (!Validate::regex($mobile, "^1\d{10}$")) {
@@ -280,6 +314,7 @@
     public function bind_mobile_login()
     {
         $wxUser = request()->param('wxUser','','urldecode');
+        $pushCid= request()->param('pushCid','');
         $wxUser = json_decode($wxUser,true);
         if(empty($wxUser)) $this->error('寰俊鎺堟潈淇℃伅鑾峰彇澶辫触');
         $mobile = $this->request->post('mobile');
@@ -306,11 +341,11 @@
         $is_phone_bind = $ModelUser->where(['mobile'=> $mobile])->find();
         if(!empty($is_phone_bind)){
             $LogicUser->bindWechat($is_phone_bind['id'],$wxUser['headimgurl'],$wxUser['sex'],$wxUser['nickname'],$wxUser['openid']);
-            $ret = $this->auth->direct($is_phone_bind['id']);
+            $ret = $this->auth->direct($is_phone_bind['id'],$pushCid);
         }else{ //鍒ゆ柇寰俊鏄惁宸茬粡缁戝畾
             $find_third = $ModelThird->where(['openid'=>$wxUser['openid']])->find();
             if(!empty($find_third)) $this->error('褰撳墠寰俊鍙峰凡缁戝畾鍏朵粬璐﹀彿');
-            $ret = $this->auth->register('', Random::alnum(), '', $mobile, [],'wechat',$wxUser);
+            $ret = $this->auth->register('', Random::alnum(), '', $mobile, [],'wechat',$wxUser,$pushCid);
         }
         Sms::flush($mobile, 'changemobile');
         if ($ret) {
@@ -449,9 +484,11 @@
 
         $new_goodsId = request()->param('new_goodsId','');
 
+        $plateform= request()->param('plateform','');
+
         $LogicUserBrowse = new LogicUserBrowse();
 
-        $res = $LogicUserBrowse->updatefirstfreelog(USERID,$ids,$new_goodsId);
+        $res = $LogicUserBrowse->updatefirstfreelog(USERID,$ids,$new_goodsId,$plateform);
 
         if($res === false) $this->error($LogicUserBrowse->getError());
 
@@ -672,6 +709,7 @@
     public function bind_invitation()
     {
         $invite_code = request()->param('invite_code','');
+        $deviceid=request()->param('deviceid','');
         if(empty($invite_code)) $this->error('閭�璇风爜涓嶈兘涓虹┖');
         $is_official = false;
         $isOpenOfficialCode = config('site.isOpenOfficialCode');
@@ -692,6 +730,13 @@
             if($f_user['status'] != 'normal')$this->error('閭�璇蜂汉甯愬彿宸茶閿佸畾锛屾殏鏃舵棤娉曢個璇�');
             if($user['invitation_id'] != 0)$this->error('褰撳墠宸茬粦瀹氫笂绾х敤鎴�');
             $save_data['invitation_id'] = $f_user['id'];
+            if(!empty($deviceid))
+            {//璁惧id
+                $save_data['login_deviceid'] = $deviceid;
+            }
+            else{
+                $save_data['login_deviceid'] = 'cus'.self::guid();
+            }
             if($f_user['invitation_id'] != 0)$save_data['f_invitation_id'] = $f_user['invitation_id'];
             $res2 = $ModelUser->where(['id'=>$f_user['id']])->setInc('fans',1);
             if(!$res2){
@@ -705,7 +750,31 @@
             $this->error('缁戝畾澶辫触');
         } 
         $ModelUser->commit();
+        //鏇存柊鎷涘嫙娲诲姩淇℃伅
+        $activityInfo=new InfoActivityInfo();
+        $activityInfo->updateRecruitCount($save_data['invitation_id'] );
         $this->success('缁戝畾鎴愬姛',[]);    
+    }
+
+   public function guid()
+    {
+
+        if (function_exists('com_create_guid')) {
+
+            return com_create_guid();
+
+        } else {
+
+            mt_srand((double)microtime() * 10000);
+            $charid = strtoupper(md5(uniqid(rand(), true)));
+            $uuid = substr($charid, 0, 8)
+                . substr($charid, 8, 4)
+                . substr($charid, 12, 4)
+                . substr($charid, 16, 4)
+                . substr($charid, 20, 12);
+            return $uuid;
+
+        }
     }
 
     /**
@@ -1027,4 +1096,20 @@
         $this->success('鑾峰彇鎴愬姛',$user);     
     }
 
+    /**
+     * 妫�娴嬫槸鍚︽湁鍋忓ソ鍟嗗搧
+     *
+     * @return void
+     */
+
+    public function check_preference_goods()
+    {
+        //鑾峰彇褰撳墠鐧诲綍浜虹敤鎴蜂俊鎭�
+        $user = $this->auth->getUser();
+        $ModelUserExtend=new ModelUserExtend();
+        $preference_goods=$ModelUserExtend->where(['id'=>$user['id']])->field('p_cids,p_platefrom')->find();
+        if(empty($preference_goods)||empty($preference_goods['p_cids'])) $this->error('鏆傛棤鍋忓ソ鍟嗗搧');
+        $this->success('鑾峰彇鎴愬姛',$preference_goods);
+    }
+
 }

--
Gitblit v1.9.3