116 lines
4.6 KiB
PHP
116 lines
4.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Index.php
|
|
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2015-2025 山西牛酷信息科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.cdcloudshop.com
|
|
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
|
|
* 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
|
|
* =========================================================
|
|
* @author : niuteam
|
|
* @date : 2022.8.8
|
|
* @version : v5.0.0.1
|
|
*/
|
|
|
|
namespace app\api\controller;
|
|
|
|
use app\model\goods\Goods as GoodsModel;
|
|
use app\model\goods\GoodsCategory as GoodsCategoryModel;
|
|
use addon\pc\model\Pc as PcModel;
|
|
use app\model\web\Config as ConfigModel;
|
|
|
|
/**
|
|
* Pc端接口
|
|
* @author Administrator
|
|
*
|
|
*/
|
|
class Pc extends BaseApi
|
|
{
|
|
/**
|
|
* 获取首页浮层
|
|
*/
|
|
public function floatLayer()
|
|
{
|
|
$pc_model = new PcModel();
|
|
$info = $pc_model->getFloatLayer($this->site_id);
|
|
return $this->response($this->success($info[ 'data' ][ 'value' ]));
|
|
}
|
|
|
|
/**
|
|
* 楼层列表
|
|
*
|
|
* @return string
|
|
*/
|
|
public function floors()
|
|
{
|
|
$pc_model = new PcModel();
|
|
$condition = [
|
|
[ 'state', '=', 1 ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
$list = $pc_model->getFloorList($condition, 'pf.title,pf.value,fb.name as block_name,fb.title as block_title');
|
|
if (!empty($list[ 'data' ])) {
|
|
$config_model = new ConfigModel();
|
|
$sort_config = $config_model->getGoodsSort($this->site_id);
|
|
$sort_config = $sort_config[ 'data' ][ 'value' ];
|
|
|
|
$goods_model = new GoodsModel();
|
|
$goods_category_model = new GoodsCategoryModel();
|
|
foreach ($list[ 'data' ] as $k => $v) {
|
|
$value = $v[ 'value' ];
|
|
if (!empty($value)) {
|
|
$value = json_decode($value, true);
|
|
foreach ($value as $ck => $cv) {
|
|
if (!empty($cv[ 'type' ])) {
|
|
if ($cv[ 'type' ] == 'goods') {
|
|
$field = 'gs.sku_id,gs.price,gs.market_price,gs.discount_price,g.goods_stock,(g.sale_num + g.virtual_sale) as sale_num,g.goods_image,g.goods_name,g.introduction';
|
|
$order = 'g.sort ' . $sort_config[ 'type' ] . ',g.create_time desc';
|
|
$join = [
|
|
[ 'goods g', 'gs.sku_id = g.sku_id', 'inner' ]
|
|
];
|
|
$goods_sku_list = $goods_model->getGoodsSkuPageList([ [ 'gs.goods_id', 'in', $cv[ 'value' ][ 'goods_ids' ] ] ], 1, 0, $order, $field, 'gs', $join);
|
|
$goods_sku_list = $goods_sku_list[ 'data' ][ 'list' ];
|
|
$value[ $ck ][ 'value' ][ 'list' ] = $goods_sku_list;
|
|
} elseif ($cv[ 'type' ] == 'category') {
|
|
// 商品分类
|
|
$condition = [
|
|
[ 'category_id', 'in', $cv[ 'value' ][ 'category_ids' ] ],
|
|
[ 'site_id', '=', $this->site_id ]
|
|
];
|
|
$category_list = $goods_category_model->getCategoryList($condition, 'category_id,category_name,short_name,level,image,image_adv');
|
|
$category_list = $category_list[ 'data' ];
|
|
$value[ $ck ][ 'value' ][ 'list' ] = $category_list;
|
|
}
|
|
}
|
|
}
|
|
$list[ 'data' ][ $k ][ 'value' ] = $value;
|
|
}
|
|
}
|
|
}
|
|
return $this->response($list);
|
|
}
|
|
|
|
/**
|
|
* 获取导航
|
|
*/
|
|
public function navList()
|
|
{
|
|
$pc_model = new PcModel();
|
|
$data = $pc_model->getNavList([ [ 'is_show', '=', 1 ], [ 'site_id', '=', $this->site_id ] ], 'id,nav_title,nav_url,sort,is_blank,create_time,modify_time,nav_icon,is_show', 'sort asc,create_time desc');
|
|
return $this->response($data);
|
|
}
|
|
|
|
/**
|
|
* 获取友情链接
|
|
*/
|
|
public function friendlyLink()
|
|
{
|
|
$pc_model = new PcModel();
|
|
$data = $pc_model->getlinkList([ [ 'is_show', '=', 1 ], [ 'site_id', '=', $this->site_id ] ], 'id,link_title,link_url,link_pic,link_sort,is_blank', 'link_sort asc,id desc');
|
|
return $this->response($data);
|
|
}
|
|
}
|