zhaojs
2023-07-20 8c00bd0245ca4756ca04483a4980ad202714e43e
application/api/controller/User.php
@@ -19,6 +19,9 @@
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;
/**
 * 会员接口
@@ -49,6 +52,20 @@
        $userInfo['token'] = $this->auth->getToken();
        $data = ['userinfo' => $userInfo];
        $this->success('获取成功', $data);
    }
    /**
     * 更新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,7 +103,7 @@
        $mobile = $this->request->post('mobile');
        $captcha = $this->request->post('captcha');
        $ismobouth=$this->request->post('ismobouth',false);
        $push_cid=$this->request->post('push_cid',false);
        $pushCid=$this->request->post('pushCid',false);
        if (!$mobile || !$captcha) {
            $this->error(__('Invalid parameters'));
        }
@@ -104,7 +121,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');
@@ -282,6 +299,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');
@@ -308,11 +326,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) {
@@ -451,9 +469,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());
@@ -674,6 +694,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');
@@ -694,6 +715,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){
@@ -707,7 +735,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;
        }
    }
    /**
@@ -1029,4 +1081,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);
    }
}