<?php /** *【积分抽奖-后台】活动详情接口 * User: daijun * Date: 2018/3/23 * Time: 下午3:42 */ namespace Apicp\Controller\Activity; use Common\Common\Constant; use Common\Service\ActivityService; use Common\Service\PrizeService; use Common\Service\RightService; class DetailController extends \Apicp\Controller\AbstractController { public function Index_post() { // 获取参数 $ac_id = I('post.ac_id'); if (empty($ac_id)) { // 活动ID不能为空 E('_EMPTY_ACTIVITY_ID'); } $activity_serv = new ActivityService(); $detail = $activity_serv->get($ac_id); if (empty($detail)) { // 活动信息不存在 E('_ERR_ACTIVITY_DATA'); } // 删掉多余字段 unset($detail['domain'], $detail['status'], $detail['created'], $detail['updated'], $detail['deleted']); $detail['rule'] = unserialize($detail['rule']); $detail['prize_intro'] = unserialize($detail['prize_intro']); // 将活动详情数据赋值给返回字段 $result = $detail; // 转换活动状态 $result['activity_status'] = $activity_serv->activity_status($detail['activity_status'], $detail['start_time'], $detail['end_time']); $prize_serv = new PrizeService(); // 查询奖品信息字段 $field = 'lp_id,order_num,cover_id,name,num,percent,lottery_max,lottery_min,is_prize,prize_desc,is_default'; // 查询奖品列表 $prize_list = $prize_serv->list_by_conds(['ac_id' => $ac_id], null, ['order_num' => 'ASC'], $field); foreach ($prize_list as &$prize) { // 循环处理奖品图片地址 $prize['is_prize'] = intval($prize['is_prize']); if ($prize['cover_id'] == 'integral-default') { // 默认封面图 $url = (is_ssl() ? 'https://' : 'http://') . (cfg('FRONT_DOMAIN') ?: $_SERVER['HTTP_HOST']); $prize['cover_url'] = $url . "/static/img/lottery/". $prize['cover_id']. ".png"; } else { $prize['cover_url'] = imgUrlReal($prize['cover_id']); } } // 将奖品列表信息赋值给返回字段 $result['list'] = $prize_list; $right_serv = new RightService(); // 组装权限数据 $right = $right_serv->get_right_detail($ac_id, $result['is_all']); // 将权限列表信息赋值给返回字段 $result['right_list'] = $right; $this->_result = $result; return true; } }