lizhen_gitee hace 1 año
padre
commit
d36ad5ec9e

+ 10 - 3
application/api/controller/User.php

@@ -153,18 +153,25 @@ class User extends Api
      */
     public function bindUser()
     {
-        $invite_no = $this->request->request('invite_no'); // 邀请码
+        $invite_no = input('invite_no'); // 邀请码
         if (!$invite_no) {
             $this->error("请输入邀请码!");
         }
         $user_id = $this->auth->id;
+
         // 查询邀请码用户信息
         $inviteUserInfo = \app\common\model\User::where(["invite_no" => $invite_no])->find();
-        if (!$inviteUserInfo) $this->error("查询不到该邀请码用户信息!");
+        if (!$inviteUserInfo) {
+            $this->error("查询不到该邀请码用户信息!");
+        }
+        //判断邀请码用户不能是自己的下级
+        if ($inviteUserInfo['pre_userid'] == $user_id) {
+            throw new Exception('对方已被您邀请过');
+        }
         if ($inviteUserInfo->id == $user_id) $this->error("不能邀请自己哦!");
         if ($inviteUserInfo->is_auth != 2) $this->error("该邀请码用户尚未完成实名认证");
 
-        $res = \app\common\model\User::update(["pre_userid" => $inviteUserInfo->id,"bindtime" => time()], ["id" => $user_id]);
+        $res = \app\common\model\User::update(["pre_userid" => $inviteUserInfo->id], ["id" => $user_id]);
         if ($res) {
             $this->success("恭喜,绑定成功!");
         } else {

+ 29 - 156
application/api/controller/Usercenter.php

@@ -128,6 +128,35 @@ class UserCenter extends Common
 
 
 
+
+
+
+    /**
+     * 获取最近访客
+     * (消息)
+     */
+    public function getMyVisitList(){
+        $list = Db::name('user_visitlist')->alias('uv')
+            ->field('uv.user_id,uv.updatetime,user.nickname,user.avatar,user.gender,user.desc')
+            ->join('user','uv.user_id = user.id','LEFT')
+            ->where('uv.visit_user_id',$this->auth->id) //被访问者
+            ->order('uv.id desc')->autopage()->select();
+        $list = list_domain_image($list,['avatar']);
+
+        if(!empty($list)){
+            foreach($list as $key => &$val){
+                //关注
+                $val['is_follow'] = $this->is_follow($this->auth->id,$val['user_id']);
+            }
+        }
+
+        $this->success(1,$list);
+    }
+
+
+///////////////////////////////////////////////////
+
+
     /**
      * 获取关注人列表.派对信息
      */
@@ -176,33 +205,6 @@ class UserCenter extends Common
 
     }
 
-
-
-    /**
-     * 获取最近访客
-     * (消息)
-     */
-    public function getMyVisitList(){
-        $list = Db::name('user_visitlist')->alias('uv')
-            ->field('uv.user_id,uv.updatetime,user.nickname,user.avatar,user.gender,user.desc')
-            ->join('user','uv.user_id = user.id','LEFT')
-            ->where('uv.visit_user_id',$this->auth->id) //被访问者
-            ->order('uv.id desc')->autopage()->select();
-        $list = list_domain_image($list,['avatar']);
-
-        if(!empty($list)){
-            foreach($list as $key => &$val){
-                //关注
-                $val['is_follow'] = $this->is_follow($this->auth->id,$val['user_id']);
-            }
-        }
-
-        $this->success(1,$list);
-    }
-
-
-
-
     /**
      * 获取个人技能列表
      */
@@ -640,136 +642,7 @@ class UserCenter extends Common
         $this->success("获取成功!",$res);
     }
 
-    /**
-     * 邀请
-     * @return void
-     */
-    public function addInvite()
-    {
-        try {
-            $inviteNo = $this->request->param('invite_no','');
-            $userId = $this->auth->id;
-            if (empty($inviteNo)) {
-                throw new Exception('参数错误');
-            }
-            $where['invite_no'] = $inviteNo;
-            $userField = 'id,invite_no,pre_userid';
-            $user = model('User')->field($userField)->where($where)->find();
-            if (empty($user)) {
-                throw new Exception('无效的邀请码');
-            }
-            //判断邀请码用户不能是自己的下级
-            if ($user['pre_userid'] == $userId) {
-                throw new Exception('对方已被您邀请过');
-            }
-            $userInviteWhere['invite_user_id'] = $userId;
-            $userInvite = model('UserInvite')->where($userInviteWhere)->find();
-            if (!empty($userInvite)) {
-                throw new Exception('您已经被邀请过');
-            }
-            $userInviteData = [
-                'user_id' => $user['id'],
-                'invite_user_id' => $userId,
-                'createtime' => time(),
-            ];
-            $userInviteRes = model('UserInvite')->insertGetId($userInviteData);
-            if (!$userInviteRes) {
-                throw new Exception('邀请失败');
-            }
-            $userUpWhere['id'] = $userId;
-            $userUpdate = ['pre_userid'=>$user['id']];
-            $userUpdateRes = model('User')->where($userUpWhere)->update($userUpdate);
-            if (!$userUpdateRes) {
-                throw new Exception('更新邀请人失败');
-            }
-            $this->success('邀请成功');
-        } catch (Exception $e) {
-            $this->error($e->getMessage());
-        }
-    }
-    
-    /**
-     * 邀请详情
-     * @return void
-     */
-    public function inviteInfo()
-    {
-        try {
-            $userId = $this->auth->id;
-            $field = 'id,invite_no';
-            $where['id'] = $userId;
-            $user = model('User')->field($field)->where($where)->find();
-            $inviteNo = isset($user['invite_no']) ? $user['invite_no'] : '';
-            $todayNow = day_now();
-            $todayStart = $todayNow[0];
-            $todayEnd = $todayNow[1]+1;
-            $userMoneyLogWhere['user_id'] = $userId;
-            $userMoneyLogWhere['type'] = 103;
-            $appendWhere['createtime'] = [['egt', $todayStart],['lt', $todayEnd],'and'];
-            $todayMoney = model('UserMoneyLog')->where($userMoneyLogWhere)->where($appendWhere)->sum('value');
-            $totalMoney = model('UserMoneyLog')->where($userMoneyLogWhere)->sum('value');
-            //本周
-            $weekNow = week_now();
-            $userInviteWhere['user_id'] = $userId;
-            $userInviteAppendWhere['createtime'] = [['egt', $weekNow[0]],['lt', $weekNow[1]+1],'and'];
-            $userInviteModel = model('UserInvite');
-            $weekNowNum = $userInviteModel->where($userInviteWhere)->where($userInviteAppendWhere)->count();
-            //上周
-            $lastWeek = last_week();
-            $appendLastWhere['createtime'] = [['egt', $lastWeek[0]],['lt', $lastWeek[1]+1],'and'];
-            $lastWeekNum = $userInviteModel->where($userInviteWhere)->where($appendLastWhere)->count();
-            //全部
-            $totalNum = $userInviteModel->where($userInviteWhere)->count();
-            $inviteMoney = config('site.invite_money');
-            $inviteRule = config('site.invite_rule');
-            $result = [
-                'invite_money' => (int)$inviteMoney,
-                'invite_no' => $inviteNo,//邀请码
-                'today_money' => $todayMoney,//今日收益
-                'total_money' => $totalMoney,//总收益
-                'week_now_num' => $weekNowNum,//本周邀请数
-                'last_week_num' => $lastWeekNum,//上周邀请数
-                'total_num' => $totalNum,//总邀请数
-                'invite_rule' => $inviteRule,//规则说明
-            ];
-            $this->success('获取成功',$result);
-        } catch (Exception $e) {
-            $this->error($e->getMessage());
-        }
-    }
-
-    /**
-     * 邀请列表
-     * @return void
-     */
-    public function inviteList()
-    {
-        try {
-            $userId = $this->auth->id;
-            $where['user_id'] = $userId;
-            $userInvite = model('UserInvite')->where($where)->with(['user'=>function($uQuery){
-                $uQuery->field('id,avatar,u_id,nickname');
-            }])->autopage()->order('createtime desc')->select();
-            $result = [];
-            if (!empty($userInvite)) {
-                foreach ($userInvite as $key => $value) {
-                    $user = isset($value['user']) ? $value['user'] : [];
-                    $temp = [
-                        'user_id'          => isset($user['id']) ? $user['id'] : 0,
-                        'u_id'             => isset($user['u_id']) ? $user['u_id'] : 0,
-                        'avatar'           => isset($user['avatar']) ? $user['avatar'] : 0,
-                        'nickname'         => isset($user['nickname']) ? $user['nickname'] : 0,
-                        'create_time_text' => !empty($value['createtime']) ? date('Y-m-d', $value['createtime']) : '',
-                    ];
-                    $result[] = $temp;
-                }
-            }
 
-            $this->success('获取成功',$result);
-        } catch (Exception $e) {
-            $this->error($e->getMessage());
-        }
-    }
     
     /**
      * 钻石兑换记录

+ 163 - 0
application/api/controller/Userintro.php

@@ -0,0 +1,163 @@
+<?php
+
+namespace app\api\controller;
+
+use app\common\controller\Api;
+use think\Db;
+/**
+ * 用户推荐
+ */
+class Userintro extends Api
+{
+    protected $noNeedLogin = [];
+    protected $noNeedRight = ['*'];
+
+
+    //生成我的视频海报
+    //生成邀请码二维码图片
+    public function inviteimage() {
+        $params['text'] = config('app_download_url') . '/index/index/appdownload';
+        $qrcode_service = \addons\qrcode\library\Service::qrcode($params);
+//        $mimetype = 'image/png';
+//        $response = Response::create()->header("Content-Type", $mimetype);
+
+        // 直接显示二维码
+//        header('Content-Type: ' . $qrcode_service->getContentType());
+//        $response->content($qrcode_service->writeString());
+        $qrcodePath = ROOT_PATH . 'public/uploads/qrcode/';
+        if (!is_dir($qrcodePath)) {
+            @mkdir($qrcodePath);
+        }
+        if (is_really_writable($qrcodePath)) {
+            $filename = md5(implode('', $params)) . '.png';
+            $filePath = $qrcodePath . $filename;
+            $qrcode_service->writeFile($filePath);
+        }
+
+        return '/uploads/qrcode/' . $filename;
+    }
+
+    //生成视频分享海报
+    public function shareposter() {
+        $inviteimage = $this->inviteimage($this->auth->introcode);
+
+        $data = [
+            [
+                "left"=> "140px",
+                "top"=> "120px",
+                "type"=> "img",
+                "width"=> "50px",
+                "height"=> "50px",
+                "src"=> localpath_to_netpath($this->auth->avatar)//"https://metavision.oss-cn-hongkong.aliyuncs.com/uploads/20220615/f00cb545deb4c4e7296f444239d83e84.jpg"
+            ],
+            [
+                "left"=> "95px",
+                "top"=> "190px",
+                "type"=> "nickname",
+                "width"=> "166px",
+                "height"=> "38px",
+                "size"=> "11px",
+                "color"=> "#FFFFFF",
+                "content" => '这里真心不错,推荐你来',
+            ],
+            [
+                "left"=> "105px",
+                "top"=> "400px",
+                "type"=> "nickname",
+                "width"=> "166px",
+                "height"=> "38px",
+                "size"=> "11px",
+                "color"=> "#333333",
+                "content" => '邀请码:'.$this->auth->introcode,
+            ],
+            [
+                "left"=> "100px",
+                "top"=> "265px",
+                "type"=> "img",
+                "width"=> "130px",
+                "height"=> "130px",
+                "src"=> httpurllocal($inviteimage)//"https://metavision.oss-cn-hongkong.aliyuncs.com/uploads/20220615/f00cb545deb4c4e7296f444239d83e84.jpg"
+            ],
+
+        ];
+
+
+        $data = json_encode($data, 320);
+
+        $poster = [
+            'id' => 1,
+            'title' => '测试',
+            'waittext' => '您的专属海报正在拼命生成中,请等待片刻...',
+            'bg_image' => '/assets/img/posteruserbg.png',
+            'data' => $data,
+            'status' => 'normal',
+            'weigh' => 0,
+            'createtime' => 1653993709,
+            'updatetime' => 1653994259,
+        ];
+
+        $image = new \addons\poster\library\Image();
+        $imgurl = $image->createPosterImage($poster, $this->auth->getUser());
+
+        if (!$imgurl) {
+            $this->error('生成海报出错');
+        }
+        $imgurl = $_SERVER["REQUEST_SCHEME"]."://".$_SERVER["HTTP_HOST"] . '/' . $imgurl;
+
+        //echo '<html><body><img src="'.$imgurl.'"></body></html>';
+
+        $this->success('', $imgurl);
+    }
+
+
+    //我邀请的人列表
+    public function myintro_list(){
+        $list = Db::name('user')->field('id,u_id,mobile,username,nickname,avatar,createtime')->where('pre_userid',$this->auth->id)->autopage()->select();
+        $list = list_domain_image($list,['avatar']);
+
+        $this->success('success',$list);
+    }
+
+    //邀请页多个信息
+    public function introsite_info(){
+        //本周
+        $thisweek_start = strtotime(date('Y-m-d')) - ((date('w')==0?7:date('w'))-1)*86400;
+        $thisweek_end   = $thisweek_start + 604799;
+        //上周
+        $lastweek_start = $thisweek_start - 604800;
+        $lastweek_end   = $thisweek_end - 604800;
+
+        //本周邀请人数
+        $intro_num_thisweek = Db::name('user')->where('pre_userid',$this->auth->id)->where('createtime','BETWEEN',[$thisweek_start,$thisweek_end])->count();
+        //上周邀请人数
+        $intro_num_lastweek = Db::name('user')->where('pre_userid',$this->auth->id)->where('createtime','BETWEEN',[$lastweek_start,$lastweek_end])->count();
+        //总邀请人数
+        $intro_num_all      = Db::name('user')->where('pre_userid',$this->auth->id)->count();
+        //本周奖励
+        $money_sum_thisweek = Db::name('user_money_log')->where(['user_id'=>$this->auth->id,'type'=>103,'createtime'=>['BETWEEN',[$thisweek_start,$thisweek_end]]])->sum('value');
+        //上周奖励
+        $money_sum_lastweek = Db::name('user_money_log')->where(['user_id'=>$this->auth->id,'type'=>103,'createtime'=>['BETWEEN',[$lastweek_start,$lastweek_end]]])->sum('value');
+        //我邀请的人
+        $user_list = Db::name('user')->field('id,u_id,username,nickname,mobile,avatar,createtime')->where('pre_userid',$this->auth->id)->limit(3)->select();
+
+        $rs = [
+            'introsite_activeinfo' => config('site.introsite_activeinfo'),
+            'introsite_introrule' => config('site.introsite_introrule'),
+            'invite_no' => $this->auth->invite_no,
+            'user_list' => $user_list,
+            'money_sum_thisweek' => $money_sum_thisweek,
+            'money_sum_lastweek' => $money_sum_lastweek,
+            'intro_num_thisweek' => $intro_num_thisweek,
+            'intro_num_lastweek' => $intro_num_lastweek,
+            'intro_num_all'      => $intro_num_all,
+        ];
+
+        $this->success('success',$rs);
+    }
+
+
+
+
+
+
+}