Commit 8ff95974 authored by liuyuzhen's avatar liuyuzhen

测试数据

parent c3ef29a3
......@@ -546,13 +546,13 @@ class StoreServiceModel extends \Business\AbstractModel{
foreach($allStores as &$store){
$store['isPurchased'] = \Our\ApiConst::zero;
}
$memberStoreIds = null;
$memberStores = null;
if($memberId){
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$memberStoreIds = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(), array(&$favoritesStoreDao, 'selectList'), array(array('member_id'=>$memberId,'fav_from'=>\Our\ApiConst::scanFavor),'distinct(store_id) as store_id'), \Our\ApiConst::oneHour,array($memberId));
$memberStoreList = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(), array(&$favoritesStoreDao, 'selectList'), array(array('member_id'=>$memberId,'fav_from'=>\Our\ApiConst::scanFavor),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));
//$storeMemberDao->getList(array('member_id'=>$memberId,'type'=>\Our\ApiConst::storeQrcodeMember),'distinct(store_id) as store_id')
if($memberStoreIds){
$memberStoreIds = array_column($memberStoreIds,'store_id');
if($memberStoreList){
$memberStores = $this->getPurchasedStoreClass($memberStoreList,$gcId);
}
}
......@@ -581,24 +581,14 @@ class StoreServiceModel extends \Business\AbstractModel{
$purchasedStore = array();
if($signStores&&in_array($goodsClass['gcId'],array_keys($signStores))){//如果当前分类存在对应签约店铺
$exitStore = $allStores[$signStores[$goodsClass['gcId']]];
$existStoreIds = $signStores[$goodsClass['gcId']];
}else if($serviceStores&&in_array($goodsClass['gcId'],array_keys($serviceStores))){
$exitStore = $allStores[$serviceStores[$goodsClass['gcId']]];
$existStoreIds = $serviceStores[$goodsClass['gcId']];
}else if($expressStores&&in_array($goodsClass['gcId'],array_keys($expressStores))){
$exitStore = $allStores[$expressStores[$goodsClass['gcId']]];
$existStoreIds = $expressStores[$goodsClass['gcId']];
}
if($memberStoreIds){
$existSignStores = array_intersect($signStores,$memberStoreIds);
$existServiceStores = array_intersect($serviceStores,$memberStoreIds);
$existExpressStores = array_intersect($expressStores,$memberStoreIds);
if($existSignStores&&in_array($goodsClass['gcId'],array_keys($existSignStores))&&$existSignStores[$goodsClass['gcId']]!=$existStoreIds){
$purchasedStore = $allStores[$existSignStores[$goodsClass['gcId']]];
}else if($existServiceStores&&in_array($goodsClass['gcId'],array_keys($existServiceStores))&&$existServiceStores[$goodsClass['gcId']]!=$existStoreIds){
$purchasedStore = $allStores[$existServiceStores[$goodsClass['gcId']]];
}else if($existExpressStores&&in_array($goodsClass['gcId'],array_keys($existExpressStores))&&$existExpressStores[$goodsClass['gcId']]!=$existStoreIds){
$purchasedStore = $allStores[$existExpressStores[$goodsClass['gcId']]];
}
if($memberStores){
if($memberStores&&in_array($goodsClass['gcId'],array_keys($memberStores))){
$purchasedStore = $allStores[$memberStores[$goodsClass['gcId']]];
}
if($purchasedStore){
$purchasedStore['isPurchased'] = \Our\ApiConst::one;
......@@ -626,6 +616,35 @@ class StoreServiceModel extends \Business\AbstractModel{
}
public function getPurchasedStoreClass($memberStoreList,$gcId){
$memberStoreIds = array_column($memberStoreList,'store_id');
$signStoreClassSql = ' store_id in ('.implode(',',$memberStoreIds).') and is_charged=1 and gc_parent_id ='.$gcId;
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
if($signClassStores){
$return = array();
foreach($memberStoreList as $tempStore){
$storeFlag = false;
foreach($signClassStores as $signClass){
if($tempStore['store_id']==$signClass['store_id']){
if($storeFlag){
break;
}
if(isset($return[$signClass['gc_id']])&&$return[$signClass['gc_id']]){
continue;
}
$return[$signClass['gc_id']] = $signClass['store_id'];
$storeFlag = true;
}
}
}
return $return;
}
return false;
}
/**
* 获取一级分类在签约店铺中的签约分类
* @param $gcId 一级分类对应gcId
......@@ -639,7 +658,7 @@ class StoreServiceModel extends \Business\AbstractModel{
$signStoreIds = $storeRedis->find($signStoreKey, \Our\ApiConst::oneHour);
//签约店铺存在
if($signStoreIds){
$return = $this->getStoreClassesByStoreIds($signStoreIds,$gcId);
$return = $this->getSignStoreClassesByStoreIds($signStoreIds,$gcId,$position);
return $return;
}
return false;
......@@ -656,11 +675,11 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeRedis = \Redis\Db6\StoreRedisModel::getInstance();
$signStoreKey = \Our\NameConst::signStoreIdsPrefix.crc32(serialize($position));
$serviceStoreKey = \Our\NameConst::serviceStoreIdsPrefix.crc32(serialize($position));
$signStoreIds = $storeRedis->find($signStoreKey, \Our\ApiConst::oneHour);
//$signStoreIds = $storeRedis->find($signStoreKey, \Our\ApiConst::oneHour);
$serviceStoreIds = $storeRedis->find($serviceStoreKey, \Our\ApiConst::oneHour);
if($signStoreIds&&$serviceStoreIds){
/*if($signStoreIds&&$serviceStoreIds){
$serviceStoreIds = array_diff($serviceStoreIds,$signStoreIds);
}
}*/
//签约店铺存在
if($serviceStoreIds){
$return = $this->getStoreClassesByStoreIds($serviceStoreIds,$gcId);
......@@ -672,20 +691,20 @@ class StoreServiceModel extends \Business\AbstractModel{
public function getExpressStores($gcId,$position){
ksort($position);
$storeDao = \DAO\StoreModel::getInstance();
$storeRedis = \Redis\Db6\StoreRedisModel::getInstance();
/*$storeRedis = \Redis\Db6\StoreRedisModel::getInstance();
$signStoreKey = \Our\NameConst::signStoreIdsPrefix.crc32(serialize($position));
$serviceStoreKey = \Our\NameConst::serviceStoreIdsPrefix.crc32(serialize($position));
$signStoreIds = $storeRedis->find($signStoreKey, \Our\ApiConst::oneHour);
$serviceStoreIds = $storeRedis->find($serviceStoreKey, \Our\ApiConst::oneHour);
$serviceStoreIds = $storeRedis->find($serviceStoreKey, \Our\ApiConst::oneHour);*/
$expressStores = $storeDao->getExpressStores('store_id');
if($expressStores){
$expressStoreIds = array_column($expressStores,'store_id');
if($signStoreIds){
/*if($signStoreIds){
$expressStoreIds = array_diff($expressStoreIds,$signStoreIds);
}
if($serviceStoreIds){
$expressStoreIds = array_diff($expressStoreIds,$serviceStoreIds);
}
}*/
if($expressStoreIds){
$return = $this->getStoreClassesByStoreIds($expressStoreIds,$gcId);
return $return;
......@@ -694,16 +713,58 @@ class StoreServiceModel extends \Business\AbstractModel{
return false;
}
/**
* 获取签约店铺的签约分类
* @param $signStoreIds
* @param $gcId
* @return array|bool
*/
public function getSignStoreClassesByStoreIds($signStoreIds,$gcId,$position){
$signStoreClassSql = ' store_id in ('.implode(',',$signStoreIds).') and is_charged=1 and class_style = 2 and gc_parent_id ='.$gcId;
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id,sign_rang,longitude,latitude');
//$signClassStores = $storeGoodsClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
if($signClassStores){
$return = array();
foreach($signClassStores as $signClass){
$storeDistance = \Our\CommonExtension::getDistance($position['lat'],$position['lng'],$signClass['latitude'],$signClass['longitude']);
if($storeDistance <= $signClass['sign_rang']){
if($return[$signClass['gc_id']]){
continue;
}
$return[$signClass['gc_id']] = $signClass['store_id'];
}
}
return $return;
}
return false;
}
public function getStoreClassesByStoreIds($storeIds,$gcId){
$signStoreClassSql = ' store_id in ('.implode(',',$storeIds).') and is_charged=1 and gc_parent_id ='.$gcId;
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
//$signClassStores = $storeGoodsClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
if($signClassStores){
$return = array();
shuffle($signClassStores);
$gcIds = array_unique(array_column($signClassStores,'gc_id'));
foreach($gcIds as $tempGcId){
if($return[$tempGcId]){
break;
}
foreach($signClassStores as $signClass){
if($tempGcId==$signClass['gc_id']){
if($return[$signClass['gc_id']]){
break;
}
$return[$signClass['gc_id']] = $signClass['store_id'];
}
}
}
return $return;
}
return false;
......
......@@ -33,12 +33,16 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
return $this->db->select($field)->from($this->_tableName)->join('han_store',"han_favorites_store.store_id = han_store.store_id",'inner')->join('han_store_score_statistics',"han_favorites_store.store_id = han_store_score_statistics.store_id",'left')->where(['han_favorites_store.member_id'=>$memberId,'fav_type'=>1])->where($where)->page($pageIndex,$pageSize)->order('fav_time','DESC')->fetchAll();
}
public function selectList($where,$field = \Our\NameConst::allField){
public function selectList($where,$field = \Our\NameConst::allField,$order=array('fav_time'=>'desc')){
$this->setDb($this->dbName);
if(is_array($where)){
$where = $this->db->getSqlWhereByArray($where);
}
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll();
$this->db->select($field)->from($this->_tableName)->where($where);
foreach($order as $key=>$val){
$this->db->order($key,$val);
}
return $this->db->fetchAll();
}
public function getOne($field,$where){
......
......@@ -277,7 +277,7 @@ resources.database.params.hostname = "127.0.0.1"
resources.database.params.port = 3306
resources.database.params.database = "qmcs"
resources.database.params.username = "root"
resources.database.params.password = "root"
resources.database.params.password = "123456"
resources.database.params.charset = "UTF8"
resources.database.params.driver_options.1002 = "SET NAMES utf8"
......@@ -287,7 +287,7 @@ resources.database.slave.params.hostname = "127.0.0.1"
resources.database.slave.params.port = 3306
resources.database.slave.params.database = "qmcs"
resources.database.slave.params.username = "root"
resources.database.slave.params.password = "root"
resources.database.slave.params.password = "123456"
resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
......
......@@ -3,11 +3,11 @@ date_default_timezone_set("Asia/Shanghai");
mb_internal_encoding("UTF-8");
define("TIMESTAMP",time());
define("APPLICATION_PATH", realpath(dirname(__FILE__) . '/../'));
define("APP_ENV",ini_get('yaf.environ'));
define("APP_ENV",'ccw');
if(APP_ENV=='develop'){
error_reporting(E_ALL);
}
if(APP_ENV=='test' || APP_ENV=='pre' ||APP_ENV=='ccwdevelop'){
if(APP_ENV=='test' || APP_ENV=='pre' ||APP_ENV=='ccwdevelop'|| APP_ENV=='ccw'){
if(isset($_POST['data']['debug'])&&!empty($_POST['data']['debug'])){
// define("DEBUG",1);
error_reporting(E_ALL);
......
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