123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- <?php
- namespace Cas\Controller;
- use KIF\Core\Request;
- use Cas\Dao\LotteryEvents;
- use Cas\Module\Lottery;
- use KIF\Dao\SqlHelper;
- use Cas\Dao\UserInfo;
- use Cas\Module\LotteryLog;
- use Cas\Dao\LotteryData;
- use Cas\Module\User;
- use Cas\Dao\LotteryUserExpress;
- use Cas\Dao\Category;
- use Cas\Dao\ArticleLikeCounter;
- /**
- * 分类下的活动列表页 - 首页
- * lihuanchun
- */
- class Cate extends EventsController {
-
- /**
- * 页面:默认首页
- */
- public function doDefault() {
-
- $cate = Request::varGetInt('cate', 1);
- $objCategory = new Category();
- $cateInfo = $objCategory->fetchOne(array
- (
- 'id' => $cate,
- ));
- if (!$cateInfo) {
- echo '错误的分类信息';die;
- }
- # 检查是否移动端
- $title = '精彩活动-' . $cateInfo['name'];
- $this->checkIsFromMobile($title);
-
- $plat_form_id = $this->getPlatFormId();
-
- $thisTime = time();
- $objMLottery = new Lottery();
- $condition = array(
- 'category_id' => $cate,
- 'display' => LotteryEvents::EVENT_DISPLAY_SHOW, // 已发布的
- 'list_display' => LotteryEvents::LIST_DISPLAY_SHOW, // 列表中是否显示
- 'begin_time' => SqlHelper::addCompareOperator('<=', time()),
- 'platform_ids' => SqlHelper::addCompareOperator('&', $plat_form_id),
- );
-
-
- # 获取登录地址
- $url = Request::g('url');
- $thisUrl = Request::schemeDomain().'/cate/'.$cate . '/' . $url;
- $loginUrl = $this -> getLoginUrl($thisUrl);
- $this->setOutput('loginUrl', $loginUrl);
-
- # 判断是否需要登录
- $ckLogin = $this->ckLogin();
- $this->setOutput('ckLogin', $ckLogin);
-
- # 获取用户信息
- $objUserData = new UserInfo();
- $uid = $this->getRunTimeUid();
- $userData = $objUserData -> get($uid);
- $this->setOutput('userData', $userData);
-
-
-
- $totals = $objMLottery -> getLotteryEventsListNum($condition);
- $offset = 0;
- $size = 10;
- $order = 'id desc';
- $eventsData = $allLotteryEventsIds = $objMLottery -> getLotteryEventsList($condition, "{$offset},{$size}", $order);
- # 剩余天数
- $TIME = time();
- $objArticleLikeCounter = new ArticleLikeCounter();
- foreach ($eventsData as $tmpKey => $tmpData) {
- $rday = ($tmpData['end_time'] - $TIME) / (24 * 60 * 60);
- $eventsData[$tmpKey]['rday'] = ceil($rday);
- # 参与人数
- $objMLotteryLog = new LotteryLog ( null, $tmpData['id'] );
- $eventsData[$tmpKey]['user_total'] = $objMLotteryLog->getUserParticipateLogNumGroupByUid ();
- if ($tmpData['type'] == 9) {
- # 阅读人数
- $eventsData[$tmpKey]['click_num'] = $tmpData['click_num'] + ($tmpData['article_pass_base_num']?$tmpData['click_num'] + $tmpData['article_pass_base_num']:0);
- # 点赞人数
- $eventsData[$tmpKey]['likes'] = $objArticleLikeCounter->getLikes($tmpData['id']);
- $eventsData[$tmpKey]['likes'] = $eventsData[$tmpKey]['likes'] + $tmpData['article_praise'];
- }
- }
-
- $this->setOutput('cate', $cate);
- $this->setOutput('eventsData', $eventsData);
- $this->setOutput('title', $title);
- $this->setOutput('totals', ceil($totals / $size));
- $this->tpl = 'list';
- $this->setOutput('plat_form_id', $plat_form_id);
- $this->setOutput('url', $url);
- $this->setOutput('display', 1);
- }
-
- /**
- * 事件:ajax翻页
- */
- public function doAjax() {
- $page = Request::varGetInt('page', 1);
- $cate = Request::varGetInt('cate', 1);
- $thisTime = time();
- $objMLottery = new Lottery();
- $plat_form_id = Request::g('plat_form_id');
- $condition = array(
- 'category_id' => $cate,
- 'display' => LotteryEvents::EVENT_DISPLAY_SHOW, // 已发布的
- 'list_display' => LotteryEvents::LIST_DISPLAY_SHOW, // 列表中是否显示
- 'begin_time' => SqlHelper::addCompareOperator('<=', time()),
- 'platform_ids' => SqlHelper::addCompareOperator('&', $plat_form_id),
- );
- $totals = $objMLottery -> getLotteryEventsListNum($condition);
- $order = 'begin_time desc';
- $size = 10;
- $offset = ($page - 1) * $size;
- $limit = "{$offset},{$size}";
- $eventsData = $allLotteryEventsIds = $objMLottery -> getLotteryEventsList($condition,$limit,$order);
-
- # 剩余天数
- $TIME = time();
- $objArticleLikeCounter = new ArticleLikeCounter();
- foreach ($eventsData as $tmpKey => $tmpData) {
- $rday = ($tmpData['end_time'] - $TIME) / (24 * 60 * 60);
- $eventsData[$tmpKey]['rday'] = ceil($rday);
- # 参与人数
- $objMLotteryLog = new LotteryLog ( null, $tmpData['id'] );
- $eventsData[$tmpKey]['user_total'] = $objMLotteryLog->getUserParticipateLogNumGroupByUid ();
- if ($tmpData['type'] == 9) {
- # 阅读人数
- $eventsData[$tmpKey]['click_num'] = $tmpData['click_num'] + ($tmpData['article_pass_base_num']?$tmpData['click_num'] + $tmpData['article_pass_base_num']:0);
- # 点赞人数
- $eventsData[$tmpKey]['likes'] = $objArticleLikeCounter->getLikes($tmpData['id']);
- $eventsData[$tmpKey]['likes'] = $eventsData[$tmpKey]['likes'] + $tmpData['article_praise'];
- }
- }
-
- $this->tpl = 'ajax_list';
- $data = array_fill(0, 4, 1);
- $this->setOutput('eventsData', $eventsData);
- $this->ajax_success_exit($this->render(true));
- }
-
- public function display() {
- $this->setOutput('action', 'index');
- return $this->render();
- }
- }
|