Commit 7df096c6 authored by zhz's avatar zhz

获取最新店铺关注

parent 48c970f9
......@@ -1118,10 +1118,25 @@ class MemberServiceModel extends \Business\AbstractModel
public function getMyFavoritesStore($memberId){
if($memberId){
$favoritesDao = \DAO\FavoritesStoreModel::getInstance();
$favStore = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array('store_id',array('fav_from'=>\Our\ApiConst::scanFavor,'member_id'=>$memberId)),\Our\ApiConst::oneDaySecond,array($memberId));
if($favStore&&$favStore['store_id']){
return $favStore['store_id'];
$favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
$favoritesDao->delMyFavoritesStoreByStoreId(1050000);exit;
if($keys = $favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_')) {
$storeId = $favoritesRedis->tableCacheGet($keys[0]);
}else{
$favStore = $favoritesDao->getStoreAndFavoriteStore('han_store.store_id',array('fav_from'=>\Our\ApiConst::scanFavor,'han_favorites_store.member_id'=>$memberId,'open_flag'=>1,'store_state'=>1));
if($favStore&&$favStore['store_id']){
$storeId = $favStore['store_id'];
}else{
$storeId = 0;
}
$favoritesRedis->tableCacheSet('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_'.$storeId,$storeId,\Our\ApiConst::oneDaySecond);
}
$storeId = (int)$storeId;
return $storeId;
// $favStore = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array('store_id',array('fav_from'=>\Our\ApiConst::scanFavor,'member_id'=>$memberId)),\Our\ApiConst::oneDaySecond,array($memberId));
// if($favStore&&$favStore['store_id']){
// return $favStore['store_id'];
// }
}
return \Our\ApiConst::zero;
}
......
......@@ -204,24 +204,15 @@ class SalespersonServiceModel extends \Business\AbstractModel
$saleOrderDAO = \DAO\SaleOrderModel::getInstance();
$where = "sale_act_id = {$actId} AND sale_id = {$memberId} AND goods_id = {$goodsId}";
if($type === 0) {
// $where .= " AND (order_state=%s AND (refund_id = %s OR (refund_id > %s AND ((seller_state = %s AND is_platform_in = %s) OR (is_platform_in = %s AND platform_state = %s)))))";
$where .= " AND order_state=40 AND is_refund=0";
// $where = sprintf($where,ApiConst::orderStateComplete,ApiConst::zero,ApiConst::zero,ApiConst::refundSellerRefuse,ApiConst::platNotIn,ApiConst::platIn,ApiConst::refundPlatformRefuse);
}else{
// $where .=" AND (order_state < %s OR (order_state = %s AND refund_id > %s AND (seller_state != %s OR (is_platform_in = %s AND platform_state != %s ))))";
$where .= " AND (order_state < 40 OR (order_state = 40 AND is_refund = 1))";
// $where = sprintf($where,ApiConst::orderStateComplete,ApiConst::orderStateComplete,ApiConst::zero,ApiConst::refundSellerRefuse,ApiConst::platIn,ApiConst::refundPlatformRefuse);
}
$goodsList = $saleOrderDAO->getOrderGoodsList($where,'member_id,member_name AS memberName,member_avatar AS memberAvatar,sum(goods_num) AS goodsNum','member_id',$limit);
$orders = [];
$totalCount = 0;
if($goodsList && is_array($goodsList)){
foreach ($goodsList as $v){
// if(!empty($v['refund_state_name'])){
// $orderState = $v['refund_state_name'];
// }else{
// $orderState = \DAO\Order\OrderModel::getInstance()->getStatusSaleText($v['order_state']);
// }
$orders[] = [
'memberName'=>$v['memberName'],
'memberAvatar'=>$v['memberAvatar'],
......
......@@ -58,7 +58,16 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$result = $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
return $result;
}
public function getStoreAndFavoriteStore($field,$where,$order = array('fav_time'=>'desc','favid'=>'desc')) {
$this->setDb($this->dbName);
if($order){
foreach($order as $key=>$value){
$this->db->order($key,$value);
}
}
$result = $this->db->select($field)->from($this->_tableName)->join('han_store','han_store.store_id = han_favorites_store.store_id','inner')->where($where)->fetchOne();
return $result;
}
public function insert($param){
$this->setDb(\Our\DbNameConst::masterDBConnectName);
$result = $this->db->insert($this->_tableName)->rows($param)->execute();
......@@ -195,22 +204,30 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
//更新店铺收藏数
$this->getFavoritesStoreCountByStoreId($storeId, $type == 1 ? -1 : 1);
}
if(is_array($storeIds) && count($storeIds) <= 20){
foreach ($storeIds as $v){
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array('*',array('store_id'=>$v,'member_id'=>$memberId)),array($memberId));
}
// }elseif (!is_array($storeIds)){
// \Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array('*',array('store_id'=>$storeIds,'member_id'=>$memberId)),array($memberId));
}else{
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array(),array($memberId));
}
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getFavoritesStores'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(), array(&$this, 'selectList'), array(),array($memberId));
// if(is_array($storeIds) && count($storeIds) <= 20){
// foreach ($storeIds as $v){
// \Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array('*',array('store_id'=>$v,'member_id'=>$memberId)),array($memberId));
// }
//// }elseif (!is_array($storeIds)){
//// \Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array('*',array('store_id'=>$storeIds,'member_id'=>$memberId)),array($memberId));
// }else{
// \Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array(),array($memberId));
// }
$favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
\Our\RedisHelper::delCachedFunction($favoritesRedis,array(&$this, 'getOne'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction($favoritesRedis,array(&$this, 'getFavoritesStores'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction($favoritesRedis, array(&$this, 'selectList'), array(),array($memberId));
$favoritesRedis->tableDelAll($favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_'));
//更新个人中心首页数量
\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId,$type == 1 ? -(count($storeIds)) : count($storeIds));
return true;
}
public function delMyFavoritesStoreByStoreId($storeId) {
$favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
$favoritesRedis->tableDelAll($favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.'*_'.$storeId));
}
public function getFavoritesStoreCountByStoreId($storeId, $num = 0) {
$statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance();
$collectCount = $statisticsDb6Redis->tableCacheGet('storeCollectCount:'.$storeId);
......
File mode changed from 100755 to 100644
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