jh-admin/addon/topic/api/controller/Topic.php

54 lines
1.8 KiB
PHP

<?php
/**
* SaaSMall商城系统 - 团队十年电商经验汇集巨献!
* =========================================================
* Copy right 2019-2029 成都SAAS云科技有限公司, 保留所有权利。
* ----------------------------------------------
* 官方网址: https://www.gobuysaas.com
* =========================================================
*/
namespace addon\topic\api\controller;
use app\api\controller\BaseApi;
use addon\topic\model\Topic as TopicModel;
/**
* 专题活动
*/
class Topic extends BaseApi
{
/**
* 列表信息
*/
public function page()
{
$page = isset($this->params['page']) ? $this->params['page'] : 1;
$page_size = isset($this->params['page_size']) ? $this->params['page_size'] : PAGE_LIST_ROWS;
$condition = [
['status', '=', 2],
['site_id', '=', $this->site_id]
];
$order = 'create_time desc';
$field = 'topic_id,topic_name,topic_adv,status,remark,start_time,end_time';
$topic_model = new TopicModel();
$list = $topic_model->getTopicPageList($condition, $page, $page_size, $order, $field);
$topic_ids = array_column($list['data']['list'], 'topic_id');
if ($topic_ids) {
$topic_goods_list = model('promotion_topic_goods')
->getColumn([['site_id', '=', $this->site_id], ['topic_id', 'in', $topic_ids]], 'id,sku_id,topic_id', 'id');
$itme_arr = [];
foreach ($topic_goods_list as $k => &$v) {
$itme_arr[$v['topic_id']][] = $v;
}
foreach ($list['data']['list'] as $k => &$v) {
$v['id'] = $itme_arr[$v['topic_id']][0]['id'];
$v['goods_count'] = count($itme_arr[$v['topic_id']]);
}
}
return $this->response($list);
}
}