zhaojs
2023-07-18 4fa2a021dcc80ae0ec294e183a90c30e77bd565c
application/api/logic/ActivityInfo.php
@@ -88,20 +88,27 @@
            }
            //查询是否参加了招募活动
            $recruitid=$actList[0]['id'].'u'.$userid;
            $actReinfo=Db::query('select id from t_recruit_act where id=? and settlement_status=0',[$recruitid]);
            $actReinfo=Db::query('select id,create_time from t_recruit_act where id=? and settlement_status=0',[$recruitid]);
            if(empty($actReinfo))
            {//没有参加活动,不用处理
                return true;
            }
            //获取已邀请人数
            $actEndTime=strtotime($actList[0]['end_time']);//活动结束时间
            $yqCount=Db::query('select count(DISTINCT(login_deviceid)) as count from t_user where invitation_id=? and status=? and invite_bind_time>=? and invite_bind_time<=?',[$userid,'normal',$actReinfo[0]['create_time'],$actEndTime]);
           $count=0;
           if(!empty($yqCount))
           {
            $count=$yqCount[0]['count'];
           }
            //增加count
            $countres=Db::execute('update t_recruit_act set recruit_count=recruit_count+1 where id=?',[$recruitid]);
            $countres=Db::execute('update t_recruit_act set recruit_count=? where id=?',[$count,$recruitid]);
            return $countres==1;
        }
        catch(\Exception $e)
        {
        }
    }
    /**
@@ -113,9 +120,19 @@
        $count=Db::query('select recruit_count from t_recruit_act where id=?',[$recruitid]);
        if(empty($count))
        {
            return 0;
            return [
                'membercount'=>0,
                'award'=>0
            ];
        }
        return $count[0]['recruit_count'];
        //获取金额信息
        $actList=Db::query('select * from t_activity_manage where id=? and count_status=0 and act_type=0 and act_status=1',[$actid]);
        $rewardRule=json_decode($actList[0]['act_json']);
        $award=$this->stepAllRule($rewardRule->rule,$count[0]['recruit_count']);
        return [
            'membercount'=>$count[0]['recruit_count'],
            'award'=>$award
        ];
    }
    /**
@@ -123,7 +140,7 @@
     */
    public function getRankingList($actid,$userid)
    {
        $rList=Db::query('   SELECT a.id,a.nickname,a.avatar,b.recruit_count from t_recruit_act b left join t_user a on a.id =b.user_id where b.act_id=? and b.recruit_count>0 order by b.recruit_count desc limit 7',[$actid]);
        $rList=Db::query('SELECT a.id,a.nickname,a.avatar,b.recruit_count from t_recruit_act b left join t_user a on a.id =b.user_id where b.act_id=? and b.recruit_count>0 order by b.recruit_count desc limit 7',[$actid]);
        if(empty($rList))
        {
            return [];
@@ -162,7 +179,7 @@
            foreach($cusList as $cus)
            {//循环参与活动的会员
                $tradeId=$act['id'].'u'.$cus['user_id'];
                $yqCount=Db::query('select count(1) as count from t_user where invitation_id=? and invite_bind_time>=? and invite_bind_time<=?',[$cus['user_id'],$cus['create_time'],$actEndTime]);
                $yqCount=Db::query('select count(DISTINCT(login_deviceid)) as count from t_user where invitation_id=? and status=? and invite_bind_time>=? and invite_bind_time<=?',[$cus['user_id'],'normal',$cus['create_time'],$actEndTime]);
                if(empty($yqCount))
                {
                    Db::execute('update t_recruit_act set settlement_status=?,settlement_time=?,act_count=0,act_award=0 where id=?',[1, date("Y-m-d H:i:s",  time()),$tradeId]);