Commit 6e1a3aa6 authored by chenchuanwen's avatar chenchuanwen

Merge branch 'master' of git.shenbd.com:qm-develop/shenbd into ccw

parents 2c3851b4 5b3f0220
...@@ -73,7 +73,9 @@ class StoreController extends \Our\Controller_AbstractIndex { ...@@ -73,7 +73,9 @@ class StoreController extends \Our\Controller_AbstractIndex {
$currentAddress['gcId'] = $data['gcId']; $currentAddress['gcId'] = $data['gcId'];
} }
$memberId = $this->sess->get('member_id'); $memberId = $this->sess->get('member_id');
$storeService = \Business\Store\StoreServiceModel::getInstance(); /*$storeService = \Business\Store\StoreServiceModel::getInstance();
$return = $storeService->getRecommendStores($currentAddress, $memberId);*/
$storeService = \Business\Store\ClassStoreServiceModel::getInstance();
$return = $storeService->getRecommendStores($currentAddress, $memberId); $return = $storeService->getRecommendStores($currentAddress, $memberId);
if ($return) { if ($return) {
$this->success($return); $this->success($return);
...@@ -125,7 +127,7 @@ class StoreController extends \Our\Controller_AbstractIndex { ...@@ -125,7 +127,7 @@ class StoreController extends \Our\Controller_AbstractIndex {
$data = $this->req[\Our\NameConst::data]; $data = $this->req[\Our\NameConst::data];
$couponService = \Business\Coupon\CouponServiceModel::getInstance(); $couponService = \Business\Coupon\CouponServiceModel::getInstance();
$couponTitles = $couponService->getStorePromotionCouponTitles($data); $couponTitles = $couponService->getStorePromotionCouponTitles($data);
$this->success($couponTitles); $this->success($couponTitles);
} }
......
...@@ -752,8 +752,8 @@ class OrderConfirmUtil { ...@@ -752,8 +752,8 @@ class OrderConfirmUtil {
public function pushMessage(){ public function pushMessage(){
if($this->pushMessageOrders){ if($this->pushMessageOrders){
foreach($this->pushMessageOrders as $tempOrder){ foreach($this->pushMessageOrders as $tempOrder){
//\Business\Order\OrderServiceModel::getInstance(DbNameConst::masterDBConnectName)->pushRecieveOrder($tempOrder); \Business\Order\OrderServiceModel::getInstance(DbNameConst::masterDBConnectName)->pushRecieveOrder($tempOrder);
\Our\Common::redisPublish('\Business\Order\OrderServiceModel','pushRecieveOrder',array($tempOrder)); //\Our\Common::redisPublish('\Business\Order\OrderServiceModel','pushRecieveOrder',array($tempOrder));
} }
} }
} }
...@@ -921,8 +921,8 @@ class OrderConfirmUtil { ...@@ -921,8 +921,8 @@ class OrderConfirmUtil {
\Our\RedisHelper::delCachedFunction(\Redis\Db4\PBundlingRedisModel::getInstance(),array(&$pbundlingInstance, 'getList'),array(),array($storeId)); \Our\RedisHelper::delCachedFunction(\Redis\Db4\PBundlingRedisModel::getInstance(),array(&$pbundlingInstance, 'getList'),array(),array($storeId));
} }
} }
//$this->updateGoodsStorageToDBAndCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag); $this->updateGoodsStorageToDBAndCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag);
$this->updateGoodsStorageToCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag); //$this->updateGoodsStorageToCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag);
return true; return true;
} }
......
...@@ -56,6 +56,8 @@ class ImageConst{ ...@@ -56,6 +56,8 @@ class ImageConst{
const defaultStoreBannerName = 'default_store_banner.jpg'; const defaultStoreBannerName = 'default_store_banner.jpg';
const defaultCategoryImgName = 'category-headpic-default.jpg';
//图片指向的域名 //图片指向的域名
const imageDomain="ossHost"; const imageDomain="ossHost";
......
...@@ -131,7 +131,7 @@ class ImageUtil { ...@@ -131,7 +131,7 @@ class ImageUtil {
} }
$goodsImg = \Our\Common::getStaticFile($goodsImg,$directory); $goodsImg = \Our\Common::getStaticFile($goodsImg,$directory);
if($width > 0) { if($width > 0) {
$goodsImg .= "?x-oss-process=image/resize,m_fill,h_{$height},w_{$width}"; $goodsImg .= "?x-oss-process=image/resize,m_pad,h_{$height},w_{$width}";
} }
return $goodsImg; return $goodsImg;
} }
...@@ -159,6 +159,17 @@ class ImageUtil { ...@@ -159,6 +159,17 @@ class ImageUtil {
return $gcImageUrl; return $gcImageUrl;
} }
public static function getCategoryHeadPic($gcId){
$basePath=\Bootstrap::getUrlIniConfig('source');
$commonPath=ImageConst::defaultPath;
$fileName= ImageConst::categoryHeadPicPrefix.$gcId.\Our\NameConst::jpgSuffix;
$file=$basePath.$commonPath.$fileName;
if(file_exists($file)){
return \Our\Common::getStaticFile($fileName,$commonPath);
}else{
return \Our\Common::getStaticFile(ImageConst::defaultCategoryImgName,$commonPath);
}
}
/** /**
* 设置文件名称 不包括 文件路径 * 设置文件名称 不包括 文件路径
......
...@@ -66,7 +66,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -66,7 +66,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
//验证参数 //验证参数
$addressDao = \DAO\AddressModel::getInstance(); /*$addressDao = \DAO\AddressModel::getInstance();
$validFlag = $addressDao->getValidAddress($where); $validFlag = $addressDao->getValidAddress($where);
if(!$validFlag){ if(!$validFlag){
\Error\ErrorModel::throwException($addressDao->errorCode); \Error\ErrorModel::throwException($addressDao->errorCode);
...@@ -87,7 +87,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -87,7 +87,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$serviceParentClassIds = $this->getServiceStoreClasses($serviceStoreIds); $serviceParentClassIds = $this->getServiceStoreClasses($serviceStoreIds);
if($serviceParentClassIds){ if($serviceParentClassIds){
$classIds = array_merge($serviceParentClassIds,$classIds); $classIds = array_merge($serviceParentClassIds,$classIds);
} }*/
/* /*
//获取可快递店铺对应分类 //获取可快递店铺对应分类
...@@ -96,12 +96,12 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -96,12 +96,12 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$classIds = array_merge($expressClassIds,$classIds); $classIds = array_merge($expressClassIds,$classIds);
} }
*/ */
/*$classIds = array(); $classIds = array();
$platformFirstClassDao = \DAO\GoodsClass\PlatformFirstClassModel::getInstance(); $platformFirstClassDao = \DAO\GoodsClass\PlatformFirstClassModel::getInstance();
$firstClassList = \Our\RedisHelper::cachedFunction(\Redis\Db3\PlatformFirstClassRedisModel::getInstance(),array(&$platformFirstClassDao, 'getList'),array(),\Our\ApiConst::oneHour,array()); $firstClassList = \Our\RedisHelper::cachedFunction(\Redis\Db3\PlatformFirstClassRedisModel::getInstance(),array(&$platformFirstClassDao, 'getList'),array(),\Our\ApiConst::oneHour,array());
if($firstClassList){ if($firstClassList){
$classIds = array_column($firstClassList,'gc_id'); $classIds = array_column($firstClassList,'gc_parent_id');
}*/ }
$classIdKeys = array_flip($classIds); $classIdKeys = array_flip($classIds);
$goodsClassDao = \DAO\GoodsClassModel::getInstance(); $goodsClassDao = \DAO\GoodsClassModel::getInstance();
$parentClasses = $goodsClassDao->getParentClasses(); $parentClasses = $goodsClassDao->getParentClasses();
...@@ -196,7 +196,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -196,7 +196,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$cityCode = $where['cityCode']; $cityCode = $where['cityCode'];
$storeDao = \DAO\StoreModel::getInstance(); $storeDao = \DAO\StoreModel::getInstance();
$signStoreClasses = $this->getSignClassesByCityCode($cityCode); $signStoreClasses = $this->getSignClassesByCityCode($cityCode);
//var_dump($signStoreClasses);
if($signStoreClasses){ if($signStoreClasses){
$storeIds = array_unique(array_column($signStoreClasses,'store_id')); $storeIds = array_unique(array_column($signStoreClasses,'store_id'));
$tempStoreList = $storeDao->getNearbyStores($cityCode,$storeIds); $tempStoreList = $storeDao->getNearbyStores($cityCode,$storeIds);
......
...@@ -1368,6 +1368,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -1368,6 +1368,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
break; break;
} }
} }
return true;
} }
/** /**
......
<?php <?php
namespace Business\Store;
/** /**
* User: liuyuzhen * User: liuyuzhen
* Date: 2019/1/9 * Date: 2019/1/9
* Time: 17:09 * Time: 17:09
* Description: * Description:
*/ */
namespace Business\Store;
use Our\ApiConst;
use Our\DbNameConst;
/**
* 店铺service
*
* @date 2018-5-15
* @author zhz
*/
class ClassStoreServiceModel extends \Business\AbstractModel{ class ClassStoreServiceModel extends \Business\AbstractModel{
private $classStoreField = 'store_id as storeId,store_name as storeName,store_label as storeLabel,store_intro as storeIntro,store_longitude,store_latitude,gc_id as gcId,gc_name as gcName';
$classStoreField = 'store_id as storeId,store_name as storeName,store_label as storeLabel,store_intro as storeIntro,store_longitude,store_latitude,gc_id as gcId,gc_name as gcName';
public function init() { public function init() {
} }
public function getRecommondStores($where,$memberId){ public function getRecommendStores($where,$memberId){
$addressDao = \DAO\AddressModel::getInstance(); $addressDao = \DAO\AddressModel::getInstance();
$validFlag = $addressDao->getValidAddress($where); $validFlag = $addressDao->getValidAddress($where);
...@@ -39,25 +30,108 @@ class ClassStoreServiceModel extends \Business\AbstractModel{ ...@@ -39,25 +30,108 @@ class ClassStoreServiceModel extends \Business\AbstractModel{
if(!$gcId){ if(!$gcId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyGcId); \Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyGcId);
} }
/* \Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_id'=>$gcId),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));*/ /*\Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_id'=>$gcId),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));*/
$storeList = $this->getStoreListByGcId($gcId,$condition,$memberId);
return $storeList;
} }
public function getStoreListByGcId($gcId,$position){ public function getStoreListByGcId($parentGcId,$position,$memberId){
$lat = $position['lat']; $lat = $position['lat'];
$lng = $position['lng']; $lng = $position['lng'];
$classStoreModel = \DAO\Store\ClassStoreModel::getInstance(); $classStoreModel = \DAO\Store\ClassStoreModel::getInstance();
$storeList = \Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_id'=>$gcId),$this->classStoreField), \Our\ApiConst::oneHour,array()); $storeList = \Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_parent_id'=>$parentGcId),$this->classStoreField), \Our\ApiConst::oneHour,array($parentGcId));
$newStoreList = array(); $newGcStoreList = array();
if($storeList){ if($storeList){
$newStoreList = array();
$newGcList = array();
foreach($storeList as $store){
$gcId = $store['gcId'];
$store_lat = $store['store_latitude'];
$store_lnt = $store['store_longitude'];
$gcName = htmlspecialchars_decode($store['gcName']);
unset($store['store_latitude']);
unset($store['store_longitude']);
unset($store['gcId']);
unset($store['gcName']);
$store['storeLabel'] =\Our\ImageUtil::getStoreLabel($store['storeLabel'], \Our\ImageConst::storeLabel,213);
$store['storeDistance'] = \Our\CommonExtension::getDistance($lat,$lng,$store_lat,$store_lnt);
if(!isset($newStoreList[$store['storeId']])){
$newStoreList[$store['storeId']] = $store;
}
if(!isset($newGcList[$gcId])){
$newGcList[$gcId] = $gcName;
}
if(isset($newGcStoreList[$gcId]['inAreaFlag'])){
continue;
}
$inAreaFlag = false;
if(isset($store['sign_scope'])&&$store['sign_scope']){
$inAreaFlag = \Our\CommonExtension::locationInArea($lat,$lng,$store['sign_scope']);
}
if(!isset($newGcStoreList[$gcId])){
$newGcStoreList[$gcId]['gcName'] = $gcName;
$newGcStoreList[$gcId]['gcImg'] = \Our\ImageUtil::getCategoryHeadPic($gcId);
}
if($inAreaFlag){
$newGcStoreList[$gcId]['inAreaFlag'] = $inAreaFlag;
$newGcStoreList[$gcId]['stores']= $store;
}else{
if(isset($newGcStoreList[$gcId]['storeDistance'])){
if($store['storeDistance']<$newGcStoreList[$gcId]['storeDistance']){
$newGcStoreList[$gcId]['storeDistance'] = $store['storeDistance'];
$newGcStoreList[$gcId]['stores']= $store;
}
}else{
$newGcStoreList[$gcId]['storeDistance'] = $store['storeDistance'];
$newGcStoreList[$gcId]['stores']= $store;
}
}
}
$memberStores = \Business\Store\StoreServiceModel::getInstance()->getPurchasedStoreClass($memberId,$parentGcId);
if($memberStores){
foreach($memberStores as $key => $storeId){
$returnData[$key] = array();
$purchasedStore = $newStoreList[$storeId];
$returnData[$key]['gcName'] = $newGcList[$key];
$returnData[$key]['gcImg'] = \Our\ImageUtil::getCategoryHeadPic($key);
unset($purchasedStore['gcName']);
unset($purchasedStore['gcId']);
$purchasedStore['isPurchased'] = \Our\ApiConst::one;
$returnData[$key]['stores'][$storeId] = $purchasedStore;
}
}
foreach($newGcStoreList as $gcIdKey=>$storeInfo){
$tempStore = $storeInfo['stores'];
if(isset($returnData[$gcIdKey])){
if(isset($returnData[$gcIdKey]['stores'][$tempStore['storeId']])){
continue;
}
$tempStore['isPurchased'] = \Our\ApiConst::zero;
$returnData[$gcIdKey]['stores'][$tempStore['storeId']] = $tempStore;
}else{
unset($storeInfo['storeDistance']);
$storeInfo['stores'] = array();
$tempStore['isPurchased'] = \Our\ApiConst::zero;
$storeInfo['stores'][$tempStore['storeId']] = $tempStore;
$returnData[$gcIdKey] = $storeInfo;
}
}
$return = array();
foreach($newGcList as $key=>$gcNameTemp){
array_push($return,$returnData[$key]);
}
foreach($return as &$temp){
$temp['stores'] = array_values($temp['stores']);
}
return $return;
} }
} return $newGcStoreList;
}
/** /**
* git
*/ */
private static $_instance = null; private static $_instance = null;
......
...@@ -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);
} }
...@@ -714,7 +717,10 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -714,7 +717,10 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeRedis = \Redis\Db6\StoreRedisModel::getInstance(); $storeRedis = \Redis\Db6\StoreRedisModel::getInstance();
$signStoreKey = \Our\NameConst::signStoreIdsPrefix . $readisSuffix; $signStoreKey = \Our\NameConst::signStoreIdsPrefix . $readisSuffix;
$signStoreIds =$storeRedis->find($signStoreKey, \Our\ApiConst::oneHour); $signStoreIds =$storeRedis->find($signStoreKey, \Our\ApiConst::oneHour);
if(!$signStoreIds){
$signStoreInfo = \Business\Goods\GoodsClassServiceModel::getInstance()->getSignStoreInfo($position);
$signStoreIds = $signStoreInfo['signStoreIds'];//当前位置签约店铺ID
}
//$serviceStoreKey = \Our\NameConst::serviceStoreIdsPrefix . $readisSuffix; //$serviceStoreKey = \Our\NameConst::serviceStoreIdsPrefix . $readisSuffix;
//$serviceStoreIds = $storeRedis->find($serviceStoreKey, \Our\ApiConst::oneHour); //$serviceStoreIds = $storeRedis->find($serviceStoreKey, \Our\ApiConst::oneHour);
/*if(is_array($signStoreIds)&&is_array($serviceStoreIds)){ /*if(is_array($signStoreIds)&&is_array($serviceStoreIds)){
...@@ -804,15 +810,8 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -804,15 +810,8 @@ class StoreServiceModel extends \Business\AbstractModel{
foreach($allStores as &$store){ foreach($allStores as &$store){
$store['isPurchased'] = \Our\ApiConst::zero; $store['isPurchased'] = \Our\ApiConst::zero;
} }
$memberStores = null; $memberStores = $this->getPurchasedStoreClass($memberId,$gcId);
if($memberId){
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$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($memberStoreList){
$memberStores = $this->getPurchasedStoreClass($memberStoreList,$gcId);
}
}
$goodsClassDao = \DAO\GoodsClassModel::getInstance(); $goodsClassDao = \DAO\GoodsClassModel::getInstance();
//获取当前分类对应所有店铺信息 //获取当前分类对应所有店铺信息
...@@ -888,12 +887,21 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -888,12 +887,21 @@ class StoreServiceModel extends \Business\AbstractModel{
} }
public function getPurchasedStoreClass($memberStoreList,$gcId){ public function getPurchasedStoreClass($memberId,$gcId){
if(!$memberId){
return array();
}
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$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));
if(!$memberStoreList){
return array();
}
$memberStoreIds = array_column($memberStoreList,'store_id'); $memberStoreIds = array_column($memberStoreList,'store_id');
$signStoreClassSql = ' store_id in ('.implode(',',$memberStoreIds).') and is_charged=1 and gc_parent_id ='.$gcId; $signStoreClassSql = ' store_id in ('.implode(',',$memberStoreIds).') and is_charged=1 and gc_parent_id ='.$gcId;
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance(); $qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
$signClassStores = \Our\RedisHelper::cachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(), array(&$qmStoreClassDao, 'selectByWhere'), array($signStoreClassSql,'store_id,gc_id'), \Our\ApiConst::oneHour,array('gcId_'.$gcId.'member_'.$memberId));
//$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
if($signClassStores){ if($signClassStores){
$return = array(); $return = array();
foreach($memberStoreList as $tempStore){ foreach($memberStoreList as $tempStore){
...@@ -1197,7 +1205,7 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -1197,7 +1205,7 @@ class StoreServiceModel extends \Business\AbstractModel{
public function growStores(){ public function growStores(){
$cityCodes=array('010','021','022','023','852','853','0310','0311','0312','0313','0314','0315','0316','0317','0318','0319','0335','0570','0571','0572','0573','0574','0575','0576','0577','0578','0579','0580','024','0410','0411','0412','0413','0414','0415','0416','0417','0418','0419','0421','0427','0429','027','0710','0711','0712','0713','0714','0715','0716','0717','0718','0719','0722','0724','0728','025','0510','0511','0512','0513','0514','0515','0516','0517','0517','0518','0519','0523','0470','0471','0472','0473','0474','0475','0476','0477','0478','0479','0482','0483','0790','0791','0792','0793','0794','0795','0796','0797','0798','0799','0701','0350','0351','0352','0353','0354','0355','0356','0357','0358','0359','0930','0931','0932','0933','0934','0935','0936','0937','0938','0941','0943','0530','0531','0532','0533','0534','0535','0536','0537','0538','0539','0450','0451','0452','0453','0454','0455','0456','0457','0458','0459','0591','0592','0593','0594','0595','0595','0596','0597','0598','0599','020','0751','0752','0753','0754','0755','0756','0757','0758','0759','0760','0762','0763','0765','0766','0768','0769','0660','0661','0662','0663','028','0810','0811','0812','0813','0814','0816','0817','0818','0819','0825','0826','0827','0830','0831','0832','0833','0834','0835','0836','0837','0838','0839','0840','0730','0731','0732','0733','0734','0735','0736','0737','0738','0739','0743','0744','0745','0746','0370','0371','0372','0373','0374','0375','0376','0377','0378','0379','0391','0392','0393','0394','0395','0396','0398','0870','0871','0872','0873','0874','0875','0876','0877','0878','0879','0691','0692','0881','0883','0886','0887','0888','0550','0551','0552','0553','0554','0555','0556','0557','0558','0559','0561','0562','0563','0564','0565','0566','0951','0952','0953','0954','0431','0432','0433','0434','0435','0436','0437','0438','0439','0440','0770','0771','0772','0773','0774','0775','0776','0777','0778','0779','0851','0852','0853','0854','0855','0856','0857','0858','0859','029','0910','0911','0912','0913','0914','0915','0916','0917','0919','0971','0972','0973','0974','0975','0976','0977','0890','0898','0899','0891','0892','0893'); $cityCodes=array('010','021','022','023','852','853','0310','0311','0312','0313','0314','0315','0316','0317','0318','0319','0335','0570','0571','0572','0573','0574','0575','0576','0577','0578','0579','0580','024','0410','0411','0412','0413','0414','0415','0416','0417','0418','0419','0421','0427','0429','027','0710','0711','0712','0713','0714','0715','0716','0717','0718','0719','0722','0724','0728','025','0510','0511','0512','0513','0514','0515','0516','0517','0517','0518','0519','0523','0470','0471','0472','0473','0474','0475','0476','0477','0478','0479','0482','0483','0790','0791','0792','0793','0794','0795','0796','0797','0798','0799','0701','0350','0351','0352','0353','0354','0355','0356','0357','0358','0359','0930','0931','0932','0933','0934','0935','0936','0937','0938','0941','0943','0530','0531','0532','0533','0534','0535','0536','0537','0538','0539','0450','0451','0452','0453','0454','0455','0456','0457','0458','0459','0591','0592','0593','0594','0595','0595','0596','0597','0598','0599','020','0751','0752','0753','0754','0755','0756','0757','0758','0759','0760','0762','0763','0765','0766','0768','0769','0660','0661','0662','0663','028','0810','0811','0812','0813','0814','0816','0817','0818','0819','0825','0826','0827','0830','0831','0832','0833','0834','0835','0836','0837','0838','0839','0840','0730','0731','0732','0733','0734','0735','0736','0737','0738','0739','0743','0744','0745','0746','0370','0371','0372','0373','0374','0375','0376','0377','0378','0379','0391','0392','0393','0394','0395','0396','0398','0870','0871','0872','0873','0874','0875','0876','0877','0878','0879','0691','0692','0881','0883','0886','0887','0888','0550','0551','0552','0553','0554','0555','0556','0557','0558','0559','0561','0562','0563','0564','0565','0566','0951','0952','0953','0954','0431','0432','0433','0434','0435','0436','0437','0438','0439','0440','0770','0771','0772','0773','0774','0775','0776','0777','0778','0779','0851','0852','0853','0854','0855','0856','0857','0858','0859','029','0910','0911','0912','0913','0914','0915','0916','0917','0919','0971','0972','0973','0974','0975','0976','0977','0890','0898','0899','0891','0892','0893');
$storeDao=\DAO\StoreModel::getInstance(); $storeDao=\DAO\StoreModel::getInstance();
// $memberDao = \DAO\MemberModel::getInstance(); // $memberDao = \DAO\MemberModel::getInstance();
$res =$storeDao->getAll(); $res =$storeDao->getAll();
$drawTableDao=\DAO\Draw\DrawTableModel::getInstance(); $drawTableDao=\DAO\Draw\DrawTableModel::getInstance();
$drawTableDatas=$drawTableDao->getAll(); $drawTableDatas=$drawTableDao->getAll();
...@@ -1255,16 +1263,16 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -1255,16 +1263,16 @@ class StoreServiceModel extends \Business\AbstractModel{
public function tryExpireInform() { public function tryExpireInform() {
$storeList = \DAO\StoreModel::getInstance()->getTryExpireStore(); $storeList = \DAO\StoreModel::getInstance()->getTryExpireStore();
if($storeList) { if($storeList) {
foreach ($storeList as $store) { foreach ($storeList as $store) {
if( TIMESTAMP+9*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+10*24*3600) { if( TIMESTAMP+9*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+10*24*3600) {
$limitday = 10; $limitday = 10;
}elseif (TIMESTAMP+4*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+5*24*3600) { }elseif (TIMESTAMP+4*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+5*24*3600) {
$limitday = 5; $limitday = 5;
}else{ }else{
$limitday = 3; $limitday = 3;
} }
\DAO\ShortMessageModel::getInstance()->sendMessageSmsForPlatform($store['store_phone'],'tryExpire',array('storename'=>$store['store_name'],'limitday'=>$limitday)); \DAO\ShortMessageModel::getInstance()->sendMessageSmsForPlatform($store['store_phone'],'tryExpire',array('storename'=>$store['store_name'],'limitday'=>$limitday));
} }
} }
} }
/** /**
......
...@@ -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,22 +210,30 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -195,22 +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($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);
......
...@@ -257,7 +257,6 @@ class PBundlingModel extends \DAO\AbstractModel { ...@@ -257,7 +257,6 @@ class PBundlingModel extends \DAO\AbstractModel {
$pBundlingRedisDao = \Redis\Db4\PBundlingRedisModel::getInstance(); $pBundlingRedisDao = \Redis\Db4\PBundlingRedisModel::getInstance();
$pBundlingRedisDao->tableDelAll($pBundlingRedisDao->tableKeys('gid_'.$blId)); $pBundlingRedisDao->tableDelAll($pBundlingRedisDao->tableKeys('gid_'.$blId));
$groups=\Business\Goods\GroupSaleServiceModel::getInstance()->getPBundlingListByBlIds(array($blId)); $groups=\Business\Goods\GroupSaleServiceModel::getInstance()->getPBundlingListByBlIds(array($blId));
var_dump($groups);
\Lock\RedisLock::getInstance()->releaseLock(\Our\NameConst::pBundlingStorageRedisPrefix.$blId); \Lock\RedisLock::getInstance()->releaseLock(\Our\NameConst::pBundlingStorageRedisPrefix.$blId);
return true; return true;
} }
......
...@@ -125,6 +125,7 @@ class QmStoreClassModel extends \DAO\AbstractModel{ ...@@ -125,6 +125,7 @@ class QmStoreClassModel extends \DAO\AbstractModel{
} }
$platformFirstClassDao = \DAO\GoodsClass\PlatformFirstClassModel::getInstance(); $platformFirstClassDao = \DAO\GoodsClass\PlatformFirstClassModel::getInstance();
\Our\RedisHelper::delCachedFunction(\Redis\Db3\PlatformFirstClassRedisModel::getInstance(),array(&$platformFirstClassDao, 'getList'),array(),array()); \Our\RedisHelper::delCachedFunction(\Redis\Db3\PlatformFirstClassRedisModel::getInstance(),array(&$platformFirstClassDao, 'getList'),array(),array());
return true;
} }
/** /**
......
File mode changed from 100755 to 100644
...@@ -390,21 +390,21 @@ elastic.master.scheme="http"; ...@@ -390,21 +390,21 @@ elastic.master.scheme="http";
[lyztest : common] [lyztest : common]
; 数据库配置 ; 数据库配置
resources.database.params.driver = "pdo_mysql" resources.database.params.driver = "pdo_mysql"
resources.database.params.hostname = "127.0.0.1" resources.database.params.hostname = "106.14.14.233"
resources.database.params.port = 3306 resources.database.params.port = 3306
resources.database.params.database = "qmcs" resources.database.params.database = "qmcs"
resources.database.params.username = "root" resources.database.params.username = "root"
resources.database.params.password = "123456" resources.database.params.password = "!@#$%12345werty"
resources.database.params.charset = "UTF8" resources.database.params.charset = "UTF8"
resources.database.params.driver_options.1002 = "SET NAMES utf8" resources.database.params.driver_options.1002 = "SET NAMES utf8"
; 从库配置 ; 从库配置
resources.database.slave.params.driver = "pdo_mysql" resources.database.slave.params.driver = "pdo_mysql"
resources.database.slave.params.hostname = "127.0.0.1" resources.database.slave.params.hostname = "106.14.14.233"
resources.database.slave.params.port = 3306 resources.database.slave.params.port = 3306
resources.database.slave.params.database = "qmcs" resources.database.slave.params.database = "qmcs"
resources.database.slave.params.username = "root" resources.database.slave.params.username = "root"
resources.database.slave.params.password = "123456" resources.database.slave.params.password = "!@#$%12345werty"
resources.database.slave.params.charset = "UTF8" resources.database.slave.params.charset = "UTF8"
resources.database.slave.params.driver_options.1002 = "SET NAMES utf8" resources.database.slave.params.driver_options.1002 = "SET NAMES utf8"
......
...@@ -186,6 +186,7 @@ config.url.pushHost="127.0.0.1:9503"; ...@@ -186,6 +186,7 @@ config.url.pushHost="127.0.0.1:9503";
config.url.convert="/usr/local/bin/wkhtmltoimage"; config.url.convert="/usr/local/bin/wkhtmltoimage";
config.url.indexUrl="/www/local.qm.com/application/library/React" config.url.indexUrl="/www/local.qm.com/application/library/React"
config.url.libary="/www/local.qm.com/application/library" config.url.libary="/www/local.qm.com/application/library"
config.url.source="/data/upload/"
[linqing : common] [linqing : common]
......
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