zhaojs
2023-07-31 34db7035c9c7880e00b9328d022be65a29c62cb2
application/api/controller/Activity.php
@@ -4,11 +4,16 @@
use app\common\controller\Api;
use app\api\logic\taoke\device\Dataoke as LogicDataoke;
use app\api\logic\taoke\device\Haodanku;
use app\common\model\FqbCate;
use app\api\logic\taoke\device\Jd as LogicJd;
use app\api\logic\Banner as LogicBanner;
use app\api\logic\ActivityInfo as ActInfo;
header("Access-Control-Allow-Origin:*");
class Activity extends Api
{
    protected $noNeedLogin = [];
    protected $noNeedLogin = ['fqb_plat_cate','run_countRecruitAct','test'];
    protected $noNeedRight = '*';
    /**
     * 获取疯抢榜
@@ -22,12 +27,67 @@
        $type = request()->param('type','');
        $pid = request()->param('app_key','');
        $LogicDataoke = new LogicDataoke();
        $list=$LogicDataoke->fqbGoodsList($cid,$type, $pid);
        $plat=request()->param('plat','');
        $mainid=request()->param('mainid','1');
        $list=[];
        $Haodanku=new Haodanku();
        switch($plat)
        {
            case "tb":
                $LogicDataoke = new LogicDataoke();
                $list=$LogicDataoke->fqbGoodsList($cid,$type, $pid);
                break;
            case "jd":
                $list=$Haodanku->getJdHotRank($cid,$mainid);
                break;
            case "dy":
                $list=$Haodanku->getDyHotRank($cid,$mainid);
                break;
            case"pdd":
                $list=$Haodanku->getPddHotRank($cid,$mainid);
                break;
            default:
                $LogicDataoke = new LogicDataoke();
                $list=$LogicDataoke->fqbGoodsList($cid,$type, $pid);
                break;
        }
        $this->success('获取成功',$list);
      
    }
    /**
     * 获取疯抢榜商品详情
     *
     */
    public function fqb_goods_detail()
    {
        $plat=request()->param('plat','');
        $goodsid=request()->param('goodsid','');
        $item=null;
        switch($plat)
        {
            case "jd":
                $LogicJd = new LogicJd();
                $info = $LogicJd->searchGoods($goodsid,'','','','',1,1);
                if(isset($info[0]))$item = $info[0];
        }
        $this->success('获取成功',$item);
    }
    /***
     * 获取疯抢榜分类
     */
    public function fqb_plat_cate()
    {
        $plat=request()->param('plat','');
        $ModelFqvCate=new FqbCate();
        $where = ['plat'=>$plat];
        $list = $ModelFqvCate->field('cid,title,plat')->where($where)->order('order_index asc')->select();
        $this->success('获取成功',$list);
    }
    /**
     * 
     * 今日折上折
@@ -87,4 +147,150 @@
        $this->success('获取成功',$list);
    }
    /**
     * 红包签到商品加载
     */
    public function signRed()
    {
        $apikey=request()->param('apikey');
        $min_size=request()->param('min_size');
        $sort=request()->param('sort','');
        $min_id=request()->param('min_id','1');
        $keyword=request()->param('keyword','');
        $Haodk=new Haodanku();
        $list=$Haodk->getSignRedGoods($apikey,$min_size,$sort,$min_id,$keyword);
        $this->success('获取成功',$list);
    }
    /**
     * 历史新低商品
     */
    public function bottomPrice()
    {
        $pageSize=request()->param('pageSize');
        $pageId=request()->param('pageId');
        $cids=request()->param('cids');
        $sort=request()->param('sort');
        $LogicDataoke = new LogicDataoke();
        $list=$LogicDataoke->bottomPrice($pageSize,$pageId,$cids,$sort);
        $this->success('获取成功',$list);
    }
    /**
     * 获取活动信息
     *
     */
    public function getActInfo()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->getActInfo($actid,$user->id);
        $this->success('获取成功',$res);
    }
    /**
     * 参加活动
     */
    public function attendAct()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->attendAct($actid,$user->id);
        $res?$this->success('成功',$res):  $this->error('活动异常');;
    }
    /**
     * 获取活动已邀请人数
     *
     */
    public function getActRecruitCount()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->getActRecruitCount($actid,$user->id);
        $this->success('获取成功',$res);
    }
    /**
     * 获取排名
     */
    public function getRankingList()
    {
        $actid=request()->param('actid');
        if(empty($actid)) $this->error('参数错误');
        $actInfo=new ActInfo();
        $user = $this->auth->getUser();
        $res=$actInfo->getRankingList($actid,$user->id);
        $this->success('获取成功',$res);
    }
    public function test()
    {
        $actInfo=new ActInfo();
        $res=$actInfo->updateRecruitCount(2);
    }
    /**
     * 招募活动计算
     */
    public function run_countRecruitAct()
    {
        $actInfo=new ActInfo();
        $res=$actInfo->run_countRecruitAct();
        $this->success('执行完成',$res);
    }
    /**
     * 获取邀请码
     */
    public function getInviteUrl()
    {
        $user = $this->auth->getUser();
        $this->success('获取成功',$user->invitation_code);
    }
    /**
     * 获取自定义弹窗
     *
     */
    public function getCustomizePopup()
    {
        $LogicBanner = new LogicBanner();
        $list = $LogicBanner->getList('20,21');
        if(!$list||$list['customizePop']==null||count($list['customizePop'])==0)
        {
            $this->success('获取成功',[]);
        }
        $user = $this->auth->getUser();
        $actInfo=new ActInfo();
        foreach ($list['customizePop'] as $vaule) {
            $paraJson=json_decode($vaule->note);
            $isPop=false;
            switch($paraJson->poptype)
            {
                case 'freebuy'://0元购弹窗
                    $isPop=$actInfo->popupcus_freebuy($user);
                    break;
                default:
                    break;
            }
            if($isPop)
            {
                $this->success('获取成功',['haspop'=>true,'info'=>$vaule]);
                break;
            }
        }
        $this->success('获取成功',['haspop'=>false]);
    }
}