Commit 0b75ce90 authored by liuyuzhen's avatar liuyuzhen

Merge branch 'zhz' of git.shenbd.com:qm-develop/shenbd into lyz_index

parents 9a4106ae b1bd2c34
...@@ -217,6 +217,9 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -217,6 +217,9 @@ class StoreServiceModel extends \Business\AbstractModel{
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$one = $favoritesStoreDao->getOne('store_id',array('store_id'=>$storeId,'member_id'=>$memberId,'fav_type'=>\Our\ApiConst::one),''); $one = $favoritesStoreDao->getOne('store_id',array('store_id'=>$storeId,'member_id'=>$memberId,'fav_type'=>\Our\ApiConst::one),'');
$result = $favoritesStoreDao->insertAll($storeMembers); $result = $favoritesStoreDao->insertAll($storeMembers);
//删除关联店铺缓存
$favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
$favoritesRedis->tableDelAll($favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_'));
if($result && !$one) { if($result && !$one) {
$favoritesStoreDao->updateStoreCollecitonsCache(array($storeId),$memberId,2); $favoritesStoreDao->updateStoreCollecitonsCache(array($storeId),$memberId,2);
} }
......
...@@ -377,6 +377,9 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -377,6 +377,9 @@ class MemberServiceModel extends \Business\AbstractModel
\Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败'); \Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败');
return false; return false;
} }
//删除关联店铺缓存
$favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
$favoritesRedis->tableDelAll($favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_'));
if($storeIds && $result) { if($storeIds && $result) {
$favoritesStoreDao->updateStoreCollecitonsCache($storeIds,$memberId,2); $favoritesStoreDao->updateStoreCollecitonsCache($storeIds,$memberId,2);
} }
...@@ -1118,10 +1121,33 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -1118,10 +1121,33 @@ class MemberServiceModel extends \Business\AbstractModel
public function getMyFavoritesStore($memberId){ public function getMyFavoritesStore($memberId){
if($memberId){ if($memberId){
$favoritesDao = \DAO\FavoritesStoreModel::getInstance(); $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)); $favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
if($favStore&&$favStore['store_id']){ if($keys = $favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_')) {
return $favStore['store_id']; $storeId = $favoritesRedis->tableCacheGet($keys[0]);
}else{
$storeIds = $favoritesDao->getStoreAndFavoriteStore('han_store.store_id',array('fav_from'=>\Our\ApiConst::scanFavor,'han_favorites_store.member_id'=>$memberId,'open_flag|store_state'=>0),array());
if($storeIds) {
$storeIds = array_column($storeIds,'store_id');
$return = $favoritesDao->update(array('fav_type'=>0,'fav_from'=>0),'store_id in ('.implode(',',$storeIds).')',true,$memberId);
if($return) {
$favoritesDao->updateStoreCollecitonsCache($storeIds, $memberId);
}
}
$favStore = $favoritesDao->getOne('store_id',array('fav_from'=>\Our\ApiConst::scanFavor,'member_id'=>$memberId));
// $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),array('fav_time'=>'desc','favid'=>'desc'),array(0,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; return \Our\ApiConst::zero;
} }
......
...@@ -204,24 +204,15 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -204,24 +204,15 @@ class SalespersonServiceModel extends \Business\AbstractModel
$saleOrderDAO = \DAO\SaleOrderModel::getInstance(); $saleOrderDAO = \DAO\SaleOrderModel::getInstance();
$where = "sale_act_id = {$actId} AND sale_id = {$memberId} AND goods_id = {$goodsId}"; $where = "sale_act_id = {$actId} AND sale_id = {$memberId} AND goods_id = {$goodsId}";
if($type === 0) { 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 .= " 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{ }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 .= " 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); $goodsList = $saleOrderDAO->getOrderGoodsList($where,'member_id,member_name AS memberName,member_avatar AS memberAvatar,sum(goods_num) AS goodsNum','member_id',$limit);
$orders = []; $orders = [];
$totalCount = 0; $totalCount = 0;
if($goodsList && is_array($goodsList)){ if($goodsList && is_array($goodsList)){
foreach ($goodsList as $v){ 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[] = [ $orders[] = [
'memberName'=>$v['memberName'], 'memberName'=>$v['memberName'],
'memberAvatar'=>$v['memberAvatar'], 'memberAvatar'=>$v['memberAvatar'],
......
...@@ -58,7 +58,22 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -58,7 +58,22 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$result = $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne(); $result = $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
return $result; return $result;
} }
public function getStoreAndFavoriteStore($field,$where,$order = array('fav_time'=>'desc','favid'=>'desc'),$limit = null) {
$this->setDb($this->dbName);
if($order){
foreach($order as $key=>$value){
$this->db->order($key,$value);
}
}
if($limit) {
$this->db->limit($limit[0],$limit[1]);
}
if(is_array($where)){
$where=$this->db->getSqlWhereByArray($where);
}
$result = $this->db->select($field)->from($this->_tableName)->join('han_store','han_store.store_id = han_favorites_store.store_id','inner')->where($where)->fetchAll();
return $result;
}
public function insert($param){ public function insert($param){
$this->setDb(\Our\DbNameConst::masterDBConnectName); $this->setDb(\Our\DbNameConst::masterDBConnectName);
$result = $this->db->insert($this->_tableName)->rows($param)->execute(); $result = $this->db->insert($this->_tableName)->rows($param)->execute();
...@@ -195,23 +210,30 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -195,23 +210,30 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
//更新店铺收藏数 //更新店铺收藏数
$this->getFavoritesStoreCountByStoreId($storeId, $type == 1 ? -1 : 1); $this->getFavoritesStoreCountByStoreId($storeId, $type == 1 ? -1 : 1);
} }
$favoritesRedis = \Redis\Db6\FavoritesStoreRedisModel::getInstance();
if(is_array($storeIds) && count($storeIds) <= 20){ if(is_array($storeIds) && count($storeIds) <= 20){
foreach ($storeIds as $v){ foreach ($storeIds as $v){
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array('*',array('store_id'=>$v,'member_id'=>$memberId)),array($memberId)); \Our\RedisHelper::delCachedFunction($favoritesRedis,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{ }else{
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getOne'),array(),array($memberId)); \Our\RedisHelper::delCachedFunction($favoritesRedis,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));
\Our\RedisHelper::delCachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(), array(\DAO\QmStoreClassModel::getInstance(), 'selectByWhere'), array(), array('*member_'.$memberId.'*'));
\Our\RedisHelper::delCachedFunction($favoritesRedis,array(&$this, 'getFavoritesStores'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction($favoritesRedis, array(&$this, 'selectList'), array(),array($memberId));
if($type == 1) {
$favoritesRedis->tableDelAll($favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_'));
}
\Our\RedisHelper::delCachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(), array(\DAO\QmStoreClassModel::getInstance(), 'selectByWhere'), array(), array('*member_'.$memberId.'*'));
//更新个人中心首页数量 //更新个人中心首页数量
\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId,$type == 1 ? -(count($storeIds)) : count($storeIds)); \DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId,$type == 1 ? -(count($storeIds)) : count($storeIds));
return true; 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) { public function getFavoritesStoreCountByStoreId($storeId, $num = 0) {
$statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance(); $statisticsDb6Redis = \Redis\Db6\StatisticsRedisModel::getInstance();
$collectCount = $statisticsDb6Redis->tableCacheGet('storeCollectCount:'.$storeId); $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