当前位置:网站首页>Zunpin Yongyao advertising e-commerce system -- Zunpin Yongyao advertising e-commerce app system development source code sharing

Zunpin Yongyao advertising e-commerce system -- Zunpin Yongyao advertising e-commerce app system development source code sharing

2022-06-25 12:27:00 Procedure 15528175269

Zunpin Yongyao advertising e-commerce system development source code sharing :

<?php

namespace app\api\controller\user;

use app\models\ad\AdSeeLog;
use app\models\ad\AdTask;
use app\models\ad\AdTaskLog;
use app\admin\model\ad\Video;

use app\Request;
use app\models\user\User;
use crmeb\services\UtilService;

/**
 *  Advertising task 
 * Class AdTaskController
 * @package app\api\controller\user
 */
class AdTaskController
{
    /**
     *  Receive advertising tasks 
     * @return mixed
     */
    public function task(Request $request)
    {
        $uid = $request->uid();
        list($id) = UtilService::postMore([
            [['id', 'd'], 0],
        ], $request, true);
        if (!$id || $id <= 0) return app('json')->fail(' Parameter error ');
        $data = AdTask::where('id', $id)->find();
        if (empty($data)) {
            return app('json')->fail(' The task does not exist !');
        }
        $user = User::getUserInfo($uid);
        if($user['buy_money'] < $data['min']){
            return app('json')->fail(' Your purchase amount is not enough , You cannot claim this task !');
        }
        $count = AdTaskLog::where('uid', $uid)->where('task_id', $id)->count('*');
        if($count){
            return app('json')->fail(' You have received this task !');
        }

        $res = AdTask::setAdTask($uid, $data);
        if ($res) {
            return app('json')->success(' Claim success ');
        } else {
            return app('json')->fail(' Failed to collect ');
        }
    }

    /**
     *  Ad task list 
     * @param Request $request
     * @return mixed
     */
    public function index(Request $request)
    {
        list($page, $limit) = UtilService::getMore([
            ['page', 0],
            ['limit', 0],
        ], $request, true);
        return app('json')->successful(AdTask::getTaskList($request->uid(), $page, $limit));
    }

    // Get advertising data 
    public function getAd(Request $request){
        $uid = $request->uid();
        $user = User::getUserInfo($uid);
        if($user['task_log_id'] == 0){
            return app('json')->fail(' You didn't get the ad assignment , Please get it first ');
        }
        if($user['see_ad_count'] == 0){
            return app('json')->fail(' You have run out of ads today , Please come back tomorrow ');
        }

        $time = date('Y-m-d', time());
        $logList = AdSeeLog::where('uid', $uid)->whereDay('add_time', $time)->field('ad_id')->select();

        if(empty($logList)){
            $list = Video::where('status', 0)->orderRand()->limit(0,1)->select();
        } else {
            $listId = array_column($logList->toArray(),'ad_id');
            $con = implode(",", $listId);
            $list = Video::where('status', 0)->whereNotIn('id', $con)->orderRand()->limit(0,1)->select();
        }
        $list = $list->toArray();

        if($list){

            $ad = $list[0];
            $str = substr($ad['file_add'], 0, 4);
            if(!($str =='http')){
                $ad['file_add'] = sys_config('site_url') . $ad['file_add'];
            }
        } else {
            return app('json')->fail(' No advertising ');
        }

        $data['ad'] = $ad;
        return app('json')->successful($data);
    }

    public function adCount(Request $request) {
        $uid = $request->uid();
        list($aid) = UtilService::postMore([
            [['aid', 'd'], 0],
        ], $request, true);
        $res = AdTask::adCount($uid, $aid);
        if($res){
            $user = User::getUserInfo($uid);
            $data['msg'] = ' Successful advertising revenue ';
            $data['see_ad_count'] = $user['see_ad_count'];
            return app('json')->successful($data);
        } else {
            return app('json')->fail(' Advertising revenue acquisition failed , Please try again ');
        }
    }
}

原网站

版权声明
本文为[Procedure 15528175269]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202200532044719.html