zhaojs
2023-07-31 34db7035c9c7880e00b9328d022be65a29c62cb2
application/api/controller/User.php
@@ -20,13 +20,15 @@
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()
@@ -51,6 +53,21 @@
        $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);
    }
    /**
@@ -692,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');
@@ -712,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){
@@ -727,8 +752,29 @@
        $ModelUser->commit();
        //更新招募活动信息
        $activityInfo=new InfoActivityInfo();
        $activityInfo->updateRecruitCount($user['id']);
        $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;
        }
    }
    /**
@@ -1050,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);
    }
}