first commit
This commit is contained in:
112
金壶/ydyd_service/application/common/AppConstant.php
Normal file
112
金壶/ydyd_service/application/common/AppConstant.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: HIAPAD
|
||||
* Date: 2018/9/6
|
||||
* Time: 9:50
|
||||
*/
|
||||
|
||||
namespace app\common;
|
||||
|
||||
|
||||
use think\facade\Cache;
|
||||
use think\Db;
|
||||
|
||||
class AppConstant
|
||||
{
|
||||
public function getAreaData()
|
||||
{
|
||||
//获取地区数据缓存
|
||||
$app_area_data = Cache::get("APP_AREA_DATA");
|
||||
if (!$app_area_data) {
|
||||
$this->makeAreaData();
|
||||
$app_area_data = Cache::get("APP_AREA_DATA");
|
||||
}
|
||||
return $app_area_data;
|
||||
}
|
||||
|
||||
public function getAreaList()
|
||||
{
|
||||
//获取地区数据缓存
|
||||
$app_area_list = Cache::get("APP_AREA_LIST");
|
||||
if (!$app_area_list) {
|
||||
$this->makeAreaData();
|
||||
$app_area_list = Cache::get("APP_AREA_LIST");
|
||||
}
|
||||
return $app_area_list;
|
||||
}
|
||||
|
||||
private function makeAreaData()
|
||||
{
|
||||
//方便理解,暂写为三次查询
|
||||
$area_data = [];
|
||||
$area_list = [];
|
||||
//第一级
|
||||
$list_1 = Db::name('area')->where('parent_area_id','=',0)->field('id,area_name')->order('list_order')->select();
|
||||
$tmp_id_list=[];
|
||||
foreach ($list_1 as $k => $v) {
|
||||
$area_data[$v['id']]=$v;
|
||||
$area_data[$v['id']]['child_area']=[];
|
||||
$area_list[$v['id']]=$v;
|
||||
$tmp_id_list[]=$v['id'];
|
||||
}
|
||||
|
||||
//第二级
|
||||
$list_2 = Db::name('area')->where('parent_area_id','in',$tmp_id_list)->field('id,parent_area_id,area_name')->order('list_order')->select();
|
||||
$tmp_id_list=[];
|
||||
foreach ($list_2 as $k => $v) {
|
||||
$area_data[$v['parent_area_id']]['child_area'][$v['id']]=$v;
|
||||
$area_data[$v['parent_area_id']]['child_area'][$v['id']]['child_area']=[];
|
||||
$area_list[$v['id']]=$v;
|
||||
$tmp_id_list[]=$v['id'];
|
||||
}
|
||||
|
||||
//第三级
|
||||
$list_3 = Db::name('area')->where('parent_area_id','in',$tmp_id_list)->field('id,parent_area_id,area_name')->order('list_order')->select();
|
||||
foreach ($list_3 as $k => $v) {
|
||||
$grand_pa_id=$area_list[$v['parent_area_id']]['parent_area_id'];
|
||||
$area_data[$grand_pa_id]['child_area'][$v['parent_area_id']]['child_area'][$v['id']]=$v;
|
||||
$area_list[$v['id']]=$v;
|
||||
$area_list[$v['id']]['grand_pa_id']=$grand_pa_id;
|
||||
}
|
||||
|
||||
Cache::set('APP_AREA_DATA', $area_data,3600);
|
||||
Cache::set('APP_AREA_LIST', $area_list,3600);
|
||||
}
|
||||
|
||||
//首页产品分类数据
|
||||
public function getIndexGoodsCateData()
|
||||
{
|
||||
$cate_menu = Cache::get('INDEX_GOODS_CATE_MENU_DATA');
|
||||
$cate_menu = null;
|
||||
if (!$cate_menu) {
|
||||
//$where[]=['index_show_flag','=',1];
|
||||
//$order['index_show_order']='desc';
|
||||
$where[] = ['list_show_flag','=',1];
|
||||
$order['list_show_order']='desc';
|
||||
$cate_menu = Db::name('goods_cate')->where($where)->order($order)->column('cate_id,nid,name,pid,index_show_flag,index_show_order,list_show_flag,list_show_order,description,icon_url','cate_id');
|
||||
$cate_menu = transform_goods_cate_tree($cate_menu);
|
||||
Cache::set('GOODS_CATE_MENU_DATA', $cate_menu, 120);
|
||||
}
|
||||
return $cate_menu;
|
||||
}
|
||||
|
||||
//app专用
|
||||
public function getAppIndexGoodsCateData()
|
||||
{
|
||||
$cate_menu = Cache::get('INDEX_GOODS_CATE_MENU_DATA_APP');
|
||||
$cate_menu = null;
|
||||
if (!$cate_menu) {
|
||||
//pc首页
|
||||
//$where[]=['index_show_flag','=',1];
|
||||
//$order['index_show_order']='desc';
|
||||
//app分类
|
||||
$where[] = ['list_show_flag','=',1];
|
||||
$order['list_show_order']='desc';
|
||||
$cate_menu = Db::name('goods_cate')->where($where)->order($order)->column('cate_id,nid,name,pid,index_show_flag,index_show_order,list_show_flag,list_show_order,description,icon_url','cate_id');
|
||||
$cate_menu = transform_goods_cate_tree($cate_menu);
|
||||
Cache::set('GOODS_CATE_MENU_DATA_APP', $cate_menu, 120);
|
||||
}
|
||||
return $cate_menu;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user