Commit 7408420a authored by liuyuzhen's avatar liuyuzhen

首页相关优化

parent ceeca93b
...@@ -30,10 +30,9 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -30,10 +30,9 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
*/ */
public function getSignClassesByCityCode($cityCode){ public function getSignClassesByCityCode($cityCode){
$qmStoreClassCon['city_code'] = $cityCode; $qmStoreClassCon['city_code'] = $cityCode;
$qmStoreClassCon['is_charged'] = \Our\ApiConst::one;
$qmStoreClassCon['class_style'] = \Our\ApiConst::signClassStyle; $qmStoreClassCon['class_style'] = \Our\ApiConst::signClassStyle;
$qmStoreClassCon['is_charged'] = \Our\ApiConst::one;
$storeField = 'gc_id,sign_scope,gc_parent_id,store_id'; $storeField = 'gc_id,sign_scope,gc_parent_id,store_id';
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance(); $qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
$signStoreClasses = \Our\RedisHelper::cachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(),array(&$qmStoreClassDao, 'getStoreClasses'),array($qmStoreClassCon,$storeField),\Our\ApiConst::oneHour,array($cityCode)); $signStoreClasses = \Our\RedisHelper::cachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(),array(&$qmStoreClassDao, 'getStoreClasses'),array($qmStoreClassCon,$storeField),\Our\ApiConst::oneHour,array($cityCode));
return $signStoreClasses; return $signStoreClasses;
...@@ -136,10 +135,11 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -136,10 +135,11 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
if(!$serviceStoreIds){ if(!$serviceStoreIds){
return false; return false;
} }
$serviceWhere = 'is_charged = 1';
if($serviceStoreIds){ if($serviceStoreIds){
$serviceWhere .= " and store_id in (".implode(",",$serviceStoreIds).") "; $serviceWhere = " store_id in (".implode(",",$serviceStoreIds).") ";
} }
$serviceWhere .= ' and is_charged = 1';
$field = 'distinct(gc_parent_id) as gc_parent_id'; $field = 'distinct(gc_parent_id) as gc_parent_id';
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance(); $qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
...@@ -186,6 +186,14 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -186,6 +186,14 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$storeDao = \DAO\StoreModel::getInstance(); $storeDao = \DAO\StoreModel::getInstance();
$signStoreClasses = $this->getSignClassesByCityCode($cityCode); $signStoreClasses = $this->getSignClassesByCityCode($cityCode);
$storeIds = array_unique(array_column($signStoreClasses,'store_id'));
$tempStoreList = $storeDao->getNearbyStores($cityCode,$storeIds);
$storeList = array();
if($tempStoreList){
foreach($tempStoreList as $tempStore){
$storeList[$tempStore['store_id']] = $tempStore;
}
}
if($signStoreClasses){ if($signStoreClasses){
$returnClass = array(); $returnClass = array();
$newStoreIds = array(); $newStoreIds = array();
...@@ -193,7 +201,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -193,7 +201,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$inAreaFlag = \Our\CommonExtension::locationInArea($lat,$lng,$signClass['sign_scope']); $inAreaFlag = \Our\CommonExtension::locationInArea($lat,$lng,$signClass['sign_scope']);
//判断签约分类是否可以为当前用户提供服务,并且记录这些店铺对应的store_id //判断签约分类是否可以为当前用户提供服务,并且记录这些店铺对应的store_id
if($inAreaFlag){ if($inAreaFlag){
$store =$storeDao->getStoreInfoCache($signClass['store_id']); $store = $storeList[$signClass['store_id']];
$class_distance = \Our\CommonExtension::getDistance($lat,$lng,$store['store_latitude'],$store['store_latitude'],1); $class_distance = \Our\CommonExtension::getDistance($lat,$lng,$store['store_latitude'],$store['store_latitude'],1);
$class = $signClass; $class = $signClass;
$class['class_distance'] = $class_distance; $class['class_distance'] = $class_distance;
......
...@@ -467,10 +467,7 @@ class AddressServiceModel extends \Business\AbstractModel { ...@@ -467,10 +467,7 @@ class AddressServiceModel extends \Business\AbstractModel {
if($fromWx){ if($fromWx){
$citList = $areaDao->getCityListWithoutCounty(); $citList = $areaDao->getCityListWithoutCounty();
}else{ }else{
\Our\Log::getInstance()->write(microtime(),'/data/log/applogtest');
$citList = $areaDao->getCityList(); $citList = $areaDao->getCityList();
\Our\Log::getInstance()->write(microtime(),'/data/log/applogtest');
} }
if($citList){ if($citList){
return $citList; return $citList;
......
...@@ -99,7 +99,6 @@ class AreaModel extends \DAO\AbstractModel { ...@@ -99,7 +99,6 @@ class AreaModel extends \DAO\AbstractModel {
$addressRedis = AddressRedisModel::getInstance(); $addressRedis = AddressRedisModel::getInstance();
$cityList = $addressRedis->find('cityList'); $cityList = $addressRedis->find('cityList');
if($cityList){ if($cityList){
\Our\Log::getInstance()->write(json_encode($cityList),'/data/log/applog');
return $cityList; return $cityList;
} }
$areaList = $this->getAllCityList(); $areaList = $this->getAllCityList();
......
...@@ -58,7 +58,7 @@ class GoodsClassModel extends \DAO\AbstractModel { ...@@ -58,7 +58,7 @@ class GoodsClassModel extends \DAO\AbstractModel {
$goodsClassRedis = \Redis\Db6\GoodsClassRedisModel::getInstance(); $goodsClassRedis = \Redis\Db6\GoodsClassRedisModel::getInstance();
$classes = $goodsClassRedis->find('platformParentClass'); $classes = $goodsClassRedis->find('platformParentClass');
if(!$classes){ if(!$classes){
$where = 'gc_show = 1 and gc_parent_id = 0'; $where = 'gc_parent_id = 0 and gc_show = 1';
$field = 'gc_id as gcId,gc_name as gcName'; $field = 'gc_id as gcId,gc_name as gcName';
$result = $this->getList($field,$where); $result = $this->getList($field,$where);
......
...@@ -137,7 +137,7 @@ class StoreModel extends \DAO\AbstractModel ...@@ -137,7 +137,7 @@ class StoreModel extends \DAO\AbstractModel
$conditionSql = 'store_state =1 and open_flag =1 and (store_end_time >=' . TIMESTAMP . ' or store_end_time =0 ) '; $conditionSql = 'store_state =1 and open_flag =1 and (store_end_time >=' . TIMESTAMP . ' or store_end_time =0 ) ';
if ($where) { if ($where) {
$conditionSql .= $where; $conditionSql = $where. ' and '.$conditionSql;
} }
$result = $this->getStores($conditionSql, $field, $limit); $result = $this->getStores($conditionSql, $field, $limit);
return $result; return $result;
...@@ -210,7 +210,7 @@ class StoreModel extends \DAO\AbstractModel ...@@ -210,7 +210,7 @@ class StoreModel extends \DAO\AbstractModel
public function getStoresByCityCode($cityCode, $field = 'store_id,store_longitude,store_latitude,max_sign_rang,max_sales_rang,store_sales_scope') public function getStoresByCityCode($cityCode, $field = 'store_id,store_longitude,store_latitude,max_sign_rang,max_sales_rang,store_sales_scope')
{ {
$storeClassCondition = " and store_citycode = '" . $cityCode . "' "; $storeClassCondition = " store_citycode = '" . $cityCode . "' ";
$stores = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'), array($storeClassCondition, $field), \Our\ApiConst::oneHour, array($cityCode)); $stores = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'), array($storeClassCondition, $field), \Our\ApiConst::oneHour, array($cityCode));
return $stores; return $stores;
...@@ -229,20 +229,20 @@ class StoreModel extends \DAO\AbstractModel ...@@ -229,20 +229,20 @@ class StoreModel extends \DAO\AbstractModel
public function getExpressStores( $field = 'store_id,store_longitude,store_latitude,max_sign_rang,max_sales_rang,store_sales_scope') public function getExpressStores( $field = 'store_id,store_longitude,store_latitude,max_sign_rang,max_sales_rang,store_sales_scope')
{ {
$storeClassCondition = " and express_distribution = 1 "; $storeClassCondition = " express_distribution = 1 ";
$stores = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'), array($storeClassCondition, $field), \Our\ApiConst::oneHour); $stores = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'), array($storeClassCondition, $field), \Our\ApiConst::oneHour);
return $stores; return $stores;
} }
public function deleteExpressStores($field = 'store_id,store_longitude,store_latitude,max_sign_rang,max_sales_rang,store_sales_scope'){ public function deleteExpressStores($field = 'store_id,store_longitude,store_latitude,max_sign_rang,max_sales_rang,store_sales_scope'){
$storeClassCondition = " and express_distribution = 1 "; $storeClassCondition = " express_distribution = 1 ";
\Our\RedisHelper::delCachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'),array(array($storeClassCondition, $field))); \Our\RedisHelper::delCachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'),array(array($storeClassCondition, $field)));
} }
public function getNearbyStores($cityCode, $storeIds) public function getNearbyStores($cityCode, $storeIds)
{ {
$condition = " and store_citycode = '" . $cityCode . "' and store_id in (" . implode(',', $storeIds) . ")"; $condition = " store_id in (" . implode(',', $storeIds) . ") and store_citycode = '" . $cityCode . "'";
$field = 'store_id as storeId,store_label as storeLabel,store_name as storeName,store_intro as storeIntro,store_longitude,store_latitude'; $field = 'store_id as storeId,store_label as storeLabel,store_name as storeName,store_intro as storeIntro,store_longitude,store_latitude';
$returnStores = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'), array($condition, $field), \Our\ApiConst::oneHour, array($cityCode)); $returnStores = \Our\RedisHelper::cachedFunction(\Redis\Db6\StoreRedisModel::getInstance(), array(&$this, 'getOnlineStores'), array($condition, $field), \Our\ApiConst::oneHour, array($cityCode));
return $returnStores; return $returnStores;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment