初始版本
This commit is contained in:
84
server/app/api/logic/DecorateLogic.php
Executable file
84
server/app/api/logic/DecorateLogic.php
Executable file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
namespace app\api\logic;
|
||||
use app\common\model\decorate\DecoratePage;
|
||||
use app\common\model\decorate\DecorateStyle;
|
||||
use app\common\model\decorate\DecorateTabbar;
|
||||
use app\common\model\goods\Goods;
|
||||
|
||||
/**
|
||||
* 装修逻辑类
|
||||
* Class DecorateLogic
|
||||
* @package app\api\logic
|
||||
*/
|
||||
class DecorateLogic
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* @notes 获取装修页面
|
||||
* @param int $id
|
||||
* @param int $cityId
|
||||
* @return array
|
||||
* @author cjhao
|
||||
* @date 2024/10/8 15:11
|
||||
*/
|
||||
public function page(int $type,$cityId)
|
||||
{
|
||||
$detail = DecoratePage::where(['type'=>$type,'source'=>1])->findOrEmpty()->toArray();
|
||||
if(1 == $type && $cityId){
|
||||
$data = json_decode($detail['data'],true);
|
||||
foreach ($data as $key => $datum){
|
||||
if('area-goods' == $datum['name']){
|
||||
$allCityGoodsIds = Goods::alias('G')
|
||||
->leftjoin('goods_city_index GCI','G.id = GCI.goods_id')
|
||||
->where(['GCI.id '=>null,'status'=>1])
|
||||
->column('G.id');
|
||||
$cityGoodsIds = Goods::alias('G')
|
||||
->leftjoin('goods_city_index GCI','G.id = GCI.goods_id')
|
||||
->where(['status'=>1,'city_id'=>$cityId])
|
||||
->column('G.id');
|
||||
$goodsIds = array_merge($allCityGoodsIds,$cityGoodsIds);
|
||||
$showNum = $datum['content']['show_num'] ?? 1;
|
||||
$goodsLists = Goods::where(['status'=>1,'id'=>$goodsIds])
|
||||
->field('id,name,image,price,scribing_price,duration,order_num+virtual_order_num as order_num')
|
||||
->limit($showNum)
|
||||
->order('sort desc,id desc')
|
||||
->select()
|
||||
->toArray();
|
||||
$datum['content']['goods_list'] = $goodsLists;
|
||||
$data[$key] = $datum;
|
||||
$detail['data'] = json_encode($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $detail;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取装修风格
|
||||
* @return array
|
||||
* @author cjhao
|
||||
* @date 2024/10/8 15:13
|
||||
*/
|
||||
public function style()
|
||||
{
|
||||
$detail = DecorateStyle::where(['source'=>1])->findOrEmpty()->toArray();
|
||||
return $detail;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 底部菜单
|
||||
* @return array
|
||||
* @author cjhao
|
||||
* @date 2024/10/8 15:59
|
||||
*/
|
||||
public function tabbar()
|
||||
{
|
||||
$detail = DecorateTabbar::where(['source'=>1])->findOrEmpty()->toArray();
|
||||
return $detail;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user