PrizeService.class.php 2.5 KB
<?php
/**
 * Created by PhpStorm.
 * User: yingcai
 * Date: 2018/3/23
 * Time: 下午4:03
 */

namespace Common\Service;

use Common\Model\PrizeModel;

class PrizeService extends AbstractService
{
    // 构造方法
    public function __construct()
    {
        $this->_d = new PrizeModel();

        parent::__construct();
    }


    /**
     * 奖品数据入库
     *
     * @param array $prize_list 奖品列表
     * @param int $ac_id 活动ID
     *
     * @return bool
     */
    public function save_prize_data($prize_list, $ac_id)
    {
        $insert_prize_data = [];
        // 奖品信息入库
        foreach ($prize_list as $val) {

            $insert_prize_data[] = [
                'ac_id' => $ac_id,
                'cover_id' => $val['cover_id'],
                'name' => $val['name'],
                'num' => $val['num'] ? $val['num'] : 0,
                'stock_num' => $val['num'] ? $val['num'] : 0,
                'is_default' => $val['is_default'] ? $val['is_default'] : 0,
                'order_num' => $val['order_num'] ? $val['order_num'] : 0,
                'percent' => $val['percent'] ? $val['percent'] : 0,
                'lottery_max' => $val['lottery_max'] ? $val['lottery_max'] : 0,
                'lottery_min' => $val['lottery_min'] ? $val['lottery_min'] : 0,
                'is_prize' => $val['is_prize'] ? $val['is_prize'] : 0,
                'prize_desc' => $val['prize_desc'] ? $val['prize_desc'] : '',
            ];
        }

        $this->_d->insert_all($insert_prize_data);

        return true;
    }

    /**
     * 获取奖品列表
     * @param int $ac_id 活动ID
     * @param string $fields 搜索字段
     * @param array|$order_option 排序
     * @return array|bool
     */
    public function get_prize_list($ac_id = 0, $fields = '*', $order_option = [])
    {
        $prize_list = $this->_d->list_by_conds(['ac_id' => $ac_id], null, $order_option, $fields);

        foreach ($prize_list as &$prize) {
            if (empty($prize['cover_id'])) {
                break;
            }

            // 循环处理奖品图片地址
            if ($prize['cover_id'] == 'integral-default') {
                // 默认封面图
                $url = (is_ssl() ? 'https://' : 'http://') . (cfg('FRONT_DOMAIN') ?: $_SERVER['HTTP_HOST']);
                $prize['img_url'] = $url . "/static/img/lottery/". $prize['cover_id']. ".png";
            } else {
                $prize['img_url'] = imgUrlReal($prize['cover_id']);
            }
        }

        return $prize_list;
    }
}