Commit 555e2fa7 authored by liuyuzhen's avatar liuyuzhen

Merge branch 'master_dev' of git.shenbd.com:qm-develop/shenbd into lyz_version1

parents 4e02f53d 5fd280d9
...@@ -13,9 +13,21 @@ class StoreController extends \Our\Controller_AbstractIndex { ...@@ -13,9 +13,21 @@ class StoreController extends \Our\Controller_AbstractIndex {
* 获取店铺首页头部 * 获取店铺首页头部
*/ */
public function getStoreInfoAction(){ public function getStoreInfoAction(){
$address = \Business\User\AddressServiceModel::getInstance()->getMyAddress($this->req[\Our\NameConst::data],$this->memberId,false);
$storeInfo = $this->storeService->getStoreInfo($this->req[\Our\NameConst::data],$this->memberId, $address); //获取地址相关信息
$storeInfo['share'] = \Business\Common\CommonServiceModel::getInstance()->getShareInfo(\Our\ApiConst::shareStore,$this->req[\Our\NameConst::data]['storeId']); $data = $this->req[\Our\NameConst::data];
$addressService = \Business\User\AddressServiceModel::getInstance();
$memberId=$this->sess->get('member_id');
$currentAddress =$addressService->setAddress($data,$memberId);
if(!isset($currentAddress['addresses'])){
$currentAddress['addresses'] = array();
}
//$returnData['currentAddress'] = $currentAddress;
$address = $addressService->getMyAddress($data,$this->memberId,false);
$storeInfo = $this->storeService->getStoreInfo($data,$this->memberId, $address);
$storeInfo['share'] = \Business\Common\CommonServiceModel::getInstance()->getShareInfo(\Our\ApiConst::shareStore,$data['storeId']);
$storeInfo['currentAddress'] = $currentAddress;
$this->success($storeInfo); $this->success($storeInfo);
} }
/** /**
......
...@@ -147,7 +147,9 @@ class ApiConst ...@@ -147,7 +147,9 @@ class ApiConst
const orderStateWaitPay = 10;//待付款 const orderStateWaitPay = 10;//待付款
const orderStateWaitConfirm = 20;//待接单 const orderStateWaitConfirm = 20;//待接单
const orderStateWaitSend = 25;//待发货 const orderStateWaitSend = 25;//待发货
const orderStateWaitSendOne = 26;//待发货
const orderStateWaitRecieve = 30;//待收货 const orderStateWaitRecieve = 30;//待收货
const orderStateWaitRecieveOne = 31;//待收货
const orderStateComplete = 40;//已完成 const orderStateComplete = 40;//已完成
const orderStateClose = -1;//关闭定单 const orderStateClose = -1;//关闭定单
const receivePayment = 1;//商家收到货款了 const receivePayment = 1;//商家收到货款了
......
...@@ -111,6 +111,7 @@ class ImageConst{ ...@@ -111,6 +111,7 @@ class ImageConst{
const groupGoodsImg = 160; //组合详情页的搭配商品 const groupGoodsImg = 160; //组合详情页的搭配商品
const storeGroupImg = 186; //店铺促销 const storeGroupImg = 186; //店铺促销
const storeGroupGoodsImg = 130; const storeGroupGoodsImg = 130;
const salestoreImg = 129;//销售详情店铺头像
const cartBlImage = 184; const cartBlImage = 184;
const cartBlDetailImage = 148; const cartBlDetailImage = 148;
......
...@@ -117,8 +117,8 @@ class ImageUtil { ...@@ -117,8 +117,8 @@ class ImageUtil {
* @return mixed|string 返回图片路径 * @return mixed|string 返回图片路径
*/ */
public static function getGoodsImgUrl($goodsImg,$width=\Our\ImageConst::goodsListImgSize, $height = 0){ public static function getGoodsImgUrl($goodsImg,$width=\Our\ImageConst::goodsListImgSize, $height = 0){
$width = $width * \Our\ImageConst::sizeScale; $width = ceil($width * \Our\ImageConst::sizeScale);
$height ? $height = $height * \Our\ImageConst::sizeScale : $height = $width; $height ? $height = ceil($height * \Our\ImageConst::sizeScale) : $height = $width;
if (empty($goodsImg)) { if (empty($goodsImg)) {
$directory =\Our\ImageConst::defaultPath; $directory =\Our\ImageConst::defaultPath;
//$goodsImg = str_ireplace('.', '_' . $type . '.', 'default_goods_image.gif'); //$goodsImg = str_ireplace('.', '_' . $type . '.', 'default_goods_image.gif');
......
...@@ -13,7 +13,7 @@ class OrderConst { ...@@ -13,7 +13,7 @@ class OrderConst {
const waitRecieve="待收货"; const waitRecieve="待收货";
const waitPay="待付款"; const waitPay="待付款";
const waitYouPay="等待您付款"; const waitYouPay="等待您付款";
const waitSend="待发货"; const waitSend="配送中";
const waitSellerSend="等待卖家发货"; const waitSellerSend="等待卖家发货";
const sellerSended="商家已发货"; const sellerSended="商家已发货";
const waitGetFromShop="待到店自取"; const waitGetFromShop="待到店自取";
......
...@@ -369,7 +369,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -369,7 +369,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$in_store_service_flag=0; $in_store_service_flag=0;
if($lng && $lat){ if($lng && $lat){
$location = array('lat'=>$lat,'lng'=>$lng); $location = array('lat'=>$lat,'lng'=>$lng);
$in_store_service = \Store\StoreUtil::getInstance()->checkAddressInServiceArea($location,$storeId); $in_store_service = \Store\StoreUtil::getInstance()->checkAddressInServiceArea($location,$commonInfo['store_id']);
$in_store_service && $in_store_service_flag = 1; $in_store_service && $in_store_service_flag = 1;
} }
//所在地 //所在地
...@@ -414,7 +414,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel ...@@ -414,7 +414,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
$html = array('width'=>750,'height'=>$commonInfo['goods_height'],'url'=>\Our\Common::getBaseUrl().'/index/goodsDetail?goodsCommonId='.$goodsCommonId); $html = array('width'=>750,'height'=>$commonInfo['goods_height'],'url'=>\Our\Common::getBaseUrl().'/index/goodsDetail?goodsCommonId='.$goodsCommonId);
if($commonInfo['is_del'] == 1) $commonInfo['goods_state'] = 0; if($commonInfo['is_del'] == 1) $commonInfo['goods_state'] = 0;
unset($attrs['commonInfo']); unset($attrs['commonInfo']);
return array_merge(array('storeId'=>$commonInfo['store_id'],'goodsId'=>$commonInfo['goodsId'],'goodsName'=>$commonInfo['goods_name'],'goodsVerify'=>$commonInfo['goods_verify'],'goodsState'=>$commonInfo['goods_state'],'saleCount'=>$commonInfo['sale_num'],'collectionState'=>$collectionState,'isOwn'=>$isOwn,'isHot'=>$commonInfo['goods_hot'],'isRecoment'=>$commonInfo['goods_commend'],'isFree'=>$commonInfo['goods_free'],'isVirtual'=>$commonInfo['is_virtual'],'goodsMostLimit'=>$commonInfo['goods_most_limit'],'goodsLeastLimit'=>$commonInfo['goods_least_limit'],'goodsTotalLimit'=>$commonInfo['goods_total_limit'],'address'=>$area,'range'=>$rangePrice,'productData'=>$productData,'htmlContent'=>$html,'videoUrl'=>$commonInfo['goods_youku_url'],'inStoreService'=>$in_store_service_flag),$attrs); return array_merge(array('storeId'=>$commonInfo['store_id'],'goodsId'=>$commonInfo['goodsId'],'goodsName'=>$commonInfo['goods_name'],'goodsVerify'=>$commonInfo['goods_verify'],'goodsState'=>$commonInfo['goods_state'],'saleCount'=>$commonInfo['sale_num'],'collectionState'=>$collectionState,'isOwn'=>$isOwn,'isHot'=>$commonInfo['goods_hot'],'isRecoment'=>$commonInfo['goods_commend'],'isFree'=>$commonInfo['goods_free'],'isVirtual'=>$commonInfo['is_virtual'],'goodsMostLimit'=>$commonInfo['goods_most_limit'],'goodsLeastLimit'=>$commonInfo['goods_least_limit'],'goodsTotalLimit'=>$commonInfo['goods_total_limit'],'address'=>$area,'range'=>$rangePrice,'productData'=>$productData,'htmlContent'=>$html,'videoUrl'=>$commonInfo['goods_youku_url'],'subheading'=>$commonInfo['goods_jingle'],'inStoreService'=>$in_store_service_flag),$attrs);
} }
public function getAttr($goodsCommonId,$memberId = null){ public function getAttr($goodsCommonId,$memberId = null){
$goodsCommonId = (int)$goodsCommonId; $goodsCommonId = (int)$goodsCommonId;
......
...@@ -122,16 +122,17 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -122,16 +122,17 @@ class OrderServiceModel extends \Business\AbstractModel
if ($orderState != false) { if ($orderState != false) {
if($orderState==ApiConst::orderStateComplete){ if($orderState==ApiConst::orderStateComplete){
$where['evaluation_state']=ApiConst::waitEvaluation; $where['evaluation_state']=ApiConst::waitEvaluation;
$where['order_state']=array('eq',ApiConst::orderStateComplete);
} }
// if($orderState==ApiConst::orderStateWaitRecieve){ if($orderState==ApiConst::orderStateWaitRecieveOne){
// $where['shipping_type']=array('eq',ApiConst::bySeller); $where['shipping_type']=array('eq',ApiConst::bySeller);
// $where['order_state'] =array('in',array(ApiConst::orderStateWaitSend,ApiConst::orderStateWaitRecieve)); $where['order_state'] =array('in',array(ApiConst::orderStateWaitSend,ApiConst::orderStateWaitRecieve));
// } }
// if($orderState==ApiConst::orderStateWaitSend){ if($orderState==ApiConst::orderStateWaitSendOne){
// $where['shipping_type']=array('eq',ApiConst::bySelf); $where['shipping_type']=array('eq',ApiConst::bySelf);
// $where['order_state']=array('eq',ApiConst::orderStateWaitRecieve); $where['order_state']=array('eq',ApiConst::orderStateWaitRecieve);
// } }
$where['order_state'] = array('in', explode(',', $orderState)); // $where['order_state'] = array('in', explode(',', $orderState));
} }
} }
...@@ -240,6 +241,9 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -240,6 +241,9 @@ class OrderServiceModel extends \Business\AbstractModel
$goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName); $goodsDao = \DAO\GoodsModel::getInstance(DbNameConst::salveDBConnectName);
//订单 //订单
$order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond,array($orderId)); $order = \Our\RedisHelper::cachedFunction(\Redis\Db5\OrderRedisModel::getInstance(), array(&$orderDao, 'findByOrderId'), array($orderId), \Our\ApiConst::oneDaySecond,array($orderId));
if(!$order){
ErrorModel::throwException(CodeConfigModel::orderNotExist);
}
$fields = $orderDao->getFields(); $fields = $orderDao->getFields();
$this->order = $orderDao->getConvertOrder($order, $fields); $this->order = $orderDao->getConvertOrder($order, $fields);
//收货人地址 //收货人地址
...@@ -272,6 +276,7 @@ class OrderServiceModel extends \Business\AbstractModel ...@@ -272,6 +276,7 @@ class OrderServiceModel extends \Business\AbstractModel
$returnData['shippingName'] = $orderDao->getShippingName($returnData['shippingType']); $returnData['shippingName'] = $orderDao->getShippingName($returnData['shippingType']);
$returnData['orderMessage'] = $this->orderCommon['orderMessage']; $returnData['orderMessage'] = $this->orderCommon['orderMessage'];
$returnData['shippingFeeName'] = $orderDao->getFreightFeeName($returnData['shippingType']); $returnData['shippingFeeName'] = $orderDao->getFreightFeeName($returnData['shippingType']);
$returnData['dlyoPickupCode'] = intval(substr($returnData['orderSn'], ApiConst::positionPickupCodeBegin));
$returnData['paymentName'] = $orderDao->getPayTypeName($returnData['paymentType']); $returnData['paymentName'] = $orderDao->getPayTypeName($returnData['paymentType']);
$returnData['discountAmount'] = $returnData['goodsAmount'] - $returnData['orderAmount'] + $returnData['shippingFee']; $returnData['discountAmount'] = $returnData['goodsAmount'] - $returnData['orderAmount'] + $returnData['shippingFee'];
$returnData['orderText'] = $orderDao->getStatusDetailText($this->order); $returnData['orderText'] = $orderDao->getStatusDetailText($this->order);
......
...@@ -311,6 +311,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel ...@@ -311,6 +311,7 @@ class ShopkeeperServiceModel extends \Business\AbstractModel
// $value['orderAmount'] = $value['orderAmount']; // $value['orderAmount'] = $value['orderAmount'];
$value['reciverInfo'] = unserialize($value['reciverInfo']); $value['reciverInfo'] = unserialize($value['reciverInfo']);
$value['reciverInfo'] =$orderCommonDao->getReciverInfo( $value['reciverInfo'] );
$value['dlyoPickupCode'] = intval(substr($value['orderSn'], ApiConst::positionPickupCodeBegin)); $value['dlyoPickupCode'] = intval(substr($value['orderSn'], ApiConst::positionPickupCodeBegin));
$value['deliveryTimeEnd'] = $value['deliveryTime'] + ApiConst::arriveTimeRadius; $value['deliveryTimeEnd'] = $value['deliveryTime'] + ApiConst::arriveTimeRadius;
if ($value['diliverymanId']) { if ($value['diliverymanId']) {
......
...@@ -48,7 +48,12 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -48,7 +48,12 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeMember['fav_type'] = \Our\ApiConst::one; $storeMember['fav_type'] = \Our\ApiConst::one;
$storeMembers[] = $storeMember; $storeMembers[] = $storeMember;
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$one = $favoritesStoreDao->selectList(array('store_id'=>$storeId,'member_id'=>$memberId,'fav_type'=>0),'store_id');
$one && $storeIds = array($one['store_id']);
$result = $favoritesStoreDao->insertAll($storeMembers); $result = $favoritesStoreDao->insertAll($storeMembers);
if($result) {
$favoritesStoreDao->updateStoreCollecitonsCache($storeIds,$memberId,2);
}
$favoritesDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesDao = \DAO\FavoritesStoreModel::getInstance();
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array(),array($memberId)); \Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array(),array($memberId));
}else{ }else{
...@@ -361,16 +366,14 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -361,16 +366,14 @@ class StoreServiceModel extends \Business\AbstractModel{
} }
$FavoritesStoreInstance = \DAO\FavoritesStoreModel::getInstance(); $FavoritesStoreInstance = \DAO\FavoritesStoreModel::getInstance();
$return = $FavoritesStoreInstance->insertOrUpdate(array('member_id'=>$memberId,'store_id'=>$storeId,'fav_time'=>time())); $one = $FavoritesStoreInstance->getOne('store_id',array('store_id'=>$storeId,'member_id'=>$memberId,'fav_type'=>1));
if($one) {
return true;
}
$return = $FavoritesStoreInstance->insertOrUpdate(array('member_id'=>$memberId,'store_id'=>$storeId,'fav_time'=>time(),'fav_type'=>1,'fav_from'=>1));
if((int)$return > 0){ if((int)$return > 0){
//更新店铺收藏数 $FavoritesStoreInstance->updateStoreCollecitonsCache(array($storeId),$memberId,2);
$FavoritesStoreInstance->getFavoritesStoreCountByStoreId($storeId, 1);
//删除缓存
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$FavoritesStoreInstance, 'getOne'),array('*',array('store_id'=>$storeId,'member_id'=>$memberId)),array($memberId));
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$FavoritesStoreInstance, 'getList'),array(),array($memberId));
//更新个人中心首页数量
\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId);
return true; return true;
} }
} }
......
...@@ -101,38 +101,39 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -101,38 +101,39 @@ class MemberCenterServiceModel extends \Business\AbstractModel
$memberCenter[NameConst::goodsCollection] = \DAO\FavoritesModel::getInstance()->getFavoritesCountWithCommon(null, $memberId); $memberCenter[NameConst::goodsCollection] = \DAO\FavoritesModel::getInstance()->getFavoritesCountWithCommon(null, $memberId);
//足迹数量 //足迹数量
$memberCenter[NameConst::footprint] = \DAO\GoodsBrowseModel::getInstance()->getBrowseCount(array('member_id'=>$memberId)); $memberCenter[NameConst::footprint] = \DAO\GoodsBrowseModel::getInstance()->getBrowseCount(array('member_id'=>$memberId));
$memebrCenterDb1Redis->tableHMSet($memberId,$memberCenter); $memebrCenterDb1Redis->tableHMSet($memberId,$memberCenter,\Our\ApiConst::sevenDaySecond);
}else{ }else{
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::footprint) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::footprint) === false){
$memberCenter[NameConst::footprint] = \DAO\GoodsBrowseModel::getInstance()->getBrowseCount(array('member_id'=>$memberId)); $memberCenter[NameConst::footprint] = \DAO\GoodsBrowseModel::getInstance()->getBrowseCount(array('member_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::footprint,$memberCenter[NameConst::footprint]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::footprint,$memberCenter[NameConst::footprint],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::goodsCollection) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::goodsCollection) === false){
$memberCenter[NameConst::goodsCollection] = \DAO\FavoritesModel::getInstance()->getFavoritesCountWithCommon(null, $memberId); $memberCenter[NameConst::goodsCollection] = \DAO\FavoritesModel::getInstance()->getFavoritesCountWithCommon(null, $memberId);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::goodsCollection,$memberCenter[NameConst::goodsCollection]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::goodsCollection,$memberCenter[NameConst::goodsCollection],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitPay) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitPay) === false){
$memberCenter[NameConst::waitPay] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitPay,'buyer_id'=>$memberId)); $memberCenter[NameConst::waitPay] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitPay,'buyer_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitPay,$memberCenter[NameConst::waitPay]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitPay,$memberCenter[NameConst::waitPay],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitShipments) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitShipments) === false){
$memberCenter[NameConst::waitShipments] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitSend,'buyer_id'=>$memberId)); $memberCenter[NameConst::waitShipments] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitSend,'buyer_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitShipments,$memberCenter[NameConst::waitShipments]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitShipments,$memberCenter[NameConst::waitShipments],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitReceiving) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitReceiving) === false){
$memberCenter[NameConst::waitReceiving] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitRecieve,'buyer_id'=>$memberId)); $memberCenter[NameConst::waitReceiving] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitRecieve,'buyer_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitReceiving,$memberCenter[NameConst::waitReceiving]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitReceiving,$memberCenter[NameConst::waitReceiving],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitSelfLifting) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitSelfLifting) === false){
$memberCenter[NameConst::waitSelfLifting] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateComplete,'buyer_id'=>$memberId,'evaluation_state'=>ApiConst::waitEvaluation)); $memberCenter[NameConst::waitSelfLifting] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateComplete,'buyer_id'=>$memberId,'evaluation_state'=>ApiConst::waitEvaluation));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitSelfLifting,$memberCenter[NameConst::waitSelfLifting]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitSelfLifting,$memberCenter[NameConst::waitSelfLifting],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitEvaluate) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitEvaluate) === false){
$memberCenter[NameConst::waitEvaluate] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateComplete,'buyer_id'=>$memberId,'evaluation_state'=>ApiConst::waitEvaluation)); $memberCenter[NameConst::waitEvaluate] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateComplete,'buyer_id'=>$memberId,'evaluation_state'=>ApiConst::waitEvaluation));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitEvaluate,$memberCenter[NameConst::waitEvaluate]); $memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitEvaluate,$memberCenter[NameConst::waitEvaluate],\Our\ApiConst::sevenDaySecond);
} }
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::refund) === false){ if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::refund) === false){
$memberCenter[NameConst::refund] = \DAO\Order\RefundReturnModel::getInstance()->getCount('refund_state != '.ApiConst::refundStateComplete.' AND buyer_id = '.$memberId); $memberCenter[NameConst::refund] = \DAO\Order\RefundReturnModel::getInstance()->getCount('refund_state != '.ApiConst::refundStateComplete.' AND buyer_id = '.$memberId);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::refund,$memberCenter[NameConst::refund],\Our\ApiConst::sevenDaySecond);
} }
foreach ($memberCenter as &$v){ foreach ($memberCenter as &$v){
$v = (int)$v; $v = (int)$v;
...@@ -150,30 +151,46 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -150,30 +151,46 @@ class MemberCenterServiceModel extends \Business\AbstractModel
* @throws \Our\Exception * @throws \Our\Exception
*/ */
public function getStores($param,$memberId){ public function getStores($param,$memberId){
$pageSize = intval($param['pageSize']); // $pageSize = intval($param['pageSize']);
$pageIndex = intval($param['pageIndex']); // $pageIndex = intval($param['pageIndex']);
if($pageSize === 0){ // if($pageSize === 0){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError); // \Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
} // }
$pageIndex=$pageIndex+\Our\ApiConst::one; // $pageIndex=$pageIndex+\Our\ApiConst::one;
$keyword = trim($param['keyword']); // $keyword = trim($param['keyword']);
$memberCenter = $this->getStatistics($memberId); // $memberCenter = $this->getStatistics($memberId);
$totalCount = (int)$memberCenter['storeCollection']; // $totalCount = (int)$memberCenter['storeCollection'];
//
$field = 'evaluation_score,evaluation_number,han_store_score_statistics.store_collect,store_name,store_label,han_store.store_id,favid'; // $field = 'evaluation_score,evaluation_number,han_store_score_statistics.store_collect,store_name,store_label,han_store.store_id,favid';
$param['keyword'] && $where = "store_name like '%{$param['keyword']}%'"; // $param['keyword'] && $where = "store_name like '%{$param['keyword']}%'";
//$list = \DAO\FavoritesStoreModel::getInstance()->getList($where,$field,$pageIndex,$pageSize,$memberId); //$list = \DAO\FavoritesStoreModel::getInstance()->getList($where,$field,$pageIndex,$pageSize,$memberId);
$favoritesInstance = \DAO\FavoritesStoreModel::getInstance(); $favoritesInstance = \DAO\FavoritesStoreModel::getInstance();
$list = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesInstance, 'getList'),array($where,$field,$pageIndex,$pageSize,$memberId),\Our\ApiConst::oneDaySecond,array($memberId));
$stores = array(); $list = $favoritesInstance->getFavoritesStores(array('member_id'=>$memberId,'fav_type'=>1),'fav_from,store_id,favid');
if(is_array($list) && !empty($list)){ $brandsAround = [];
foreach ($list as $v){ $concernedShops = [];
$v['evaluation_score'] ? $grade = number_format(($v['evaluation_score']/3/$v['evaluation_number']),1,'.',''):$grade = '5.0'; $returnStores = [];
$stores[] = array('favid'=>$v['favid'],'storeId'=>$v['store_id'],'storeLabel'=>\DAO\StoreModel::getInstance()->getStoreLabelSrc($v['store_label'],\Our\ImageConst::storeCollectionImg),'storeName'=>$v['store_name'],'grade'=>$grade,'collectCount'=>$favoritesInstance->getFavoritesStoreCountByStoreId($v['store_id'])); if($list) {
} $storeIds = array_column($list,'store_id');
} $storeIds = implode(',',$storeIds);
return array('stores'=>$stores,'totalCount'=>$totalCount); $where =\Our\Common::format(" store_id in({0})",$storeIds);
$storeScores = \DAO\StoreScoreStatisticsModel::getInstance()->getStoreScoreStatistics($where,'store_id,evaluation_score,evaluation_number');
$list = \Our\Common::intergrateOneToOne($list, $storeScores, 'store_id', 'store_id');
$stores = \DAO\StoreModel::getInstance()->getStores($where,'store_id,store_label,store_name');
$list = \Our\Common::intergrateOneToOne($list, $stores, 'store_id', 'store_id');
foreach ($list as $v) {
$grade = isset($v['evaluation_score']) ? number_format(($v['evaluation_score']/3/$v['evaluation_number']),1,'.',''):'5.0';
$tempStore = array('favId'=>$v['favid'],'storeId'=>$v['store_id'],'storeLabel'=>\DAO\StoreModel::getInstance()->getStoreLabelSrc($v['store_label'],\Our\ImageConst::storeCollectionImg),'storeName'=>$v['store_name'],'grade'=>$grade,'collectCount'=>$favoritesInstance->getFavoritesStoreCountByStoreId($v['store_id']));
if($v['fav_from'] == 1) {
$concernedShops[] = $tempStore;
}elseif($v['fav_from'] == 3){
$brandsAround[] = $tempStore;
}
$returnStores[] = $tempStore;
}
}
return array('concernedShop'=>$concernedShops,'brandsAround'=>$brandsAround,'stores'=>$returnStores,'totalCount'=>count($stores));
} }
/** /**
...@@ -197,7 +214,7 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -197,7 +214,7 @@ class MemberCenterServiceModel extends \Business\AbstractModel
$list = $FavoritesStoreInstance->selectList(array('store_id'=>array('in',$ids),'member_id'=>$memberId,'fav_type'=>1),'store_id'); $list = $FavoritesStoreInstance->selectList(array('store_id'=>array('in',$ids),'member_id'=>$memberId,'fav_type'=>1),'store_id');
if($list) { if($list) {
$storeIds = array_column($list, 'store_id'); $storeIds = array_column($list, 'store_id');
$return = $FavoritesStoreInstance->update(array('fav_type'=>0),'store_id in ('.implode(',',$ids).')',true,$memberId); $return = $FavoritesStoreInstance->update(array('fav_type'=>0,'fav_from'=>0),'store_id in ('.implode(',',$ids).')',true,$memberId);
} }
}else{ }else{
if(strpos($ids,']') !== false ) { if(strpos($ids,']') !== false ) {
...@@ -205,14 +222,14 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -205,14 +222,14 @@ class MemberCenterServiceModel extends \Business\AbstractModel
$list = $FavoritesStoreInstance->selectList(array('store_id'=>array('in',$ids),'member_id'=>$memberId,'fav_type'=>1),'store_id'); $list = $FavoritesStoreInstance->selectList(array('store_id'=>array('in',$ids),'member_id'=>$memberId,'fav_type'=>1),'store_id');
if($list) { if($list) {
$storeIds = array_column($list, 'store_id'); $storeIds = array_column($list, 'store_id');
$return = $FavoritesStoreInstance->update(array('fav_type'=>0),'store_id in ('.implode(',',$ids).')',true,$memberId); $return = $FavoritesStoreInstance->update(array('fav_type'=>0,'fav_from'=>0),'store_id in ('.implode(',',$ids).')',true,$memberId);
} }
}else{ }else{
$ids = intval($ids); $ids = intval($ids);
$one = $FavoritesStoreInstance->getOne('store_id',array('store_id'=>$ids,'member_id'=>$memberId,'fav_type'=>1)); $one = $FavoritesStoreInstance->getOne('store_id',array('store_id'=>$ids,'member_id'=>$memberId,'fav_type'=>1));
if($one) { if($one) {
$storeIds = array($one['store_id']); $storeIds = array($one['store_id']);
$return = $FavoritesStoreInstance->update(array('fav_type'=>0),array('store_id'=>$ids,'member_id'=>$memberId)); $return = $FavoritesStoreInstance->update(array('fav_type'=>0,'fav_from'=>0),array('store_id'=>$ids,'member_id'=>$memberId));
} }
} }
...@@ -220,27 +237,9 @@ class MemberCenterServiceModel extends \Business\AbstractModel ...@@ -220,27 +237,9 @@ class MemberCenterServiceModel extends \Business\AbstractModel
if($return === false) { if($return === false) {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError); \Error\ErrorModel::throwException(\Error\CodeConfigModel::commonError);
} }
if(($return = (int)$return) > 0){ $FavoritesStoreInstance->updateStoreCollecitonsCache($storeIds, $memberId);
//删除缓存
foreach ($storeIds as $storeId) {
//更新店铺收藏数
$FavoritesStoreInstance->getFavoritesStoreCountByStoreId($storeId, -1);
}
if(is_array($ids) && count($ids) <= 20){
foreach ($ids as $v){
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$FavoritesStoreInstance, 'getOne'),array('*',array('store_id'=>$v,'member_id'=>$memberId)),array($memberId));
}
}elseif (!is_array($ids)){
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$FavoritesStoreInstance, 'getOne'),array('*',array('store_id'=>$ids,'member_id'=>$memberId)),array($memberId));
}else{
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$FavoritesStoreInstance, 'getOne'),array(),array($memberId));
}
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$FavoritesStoreInstance, 'getList'),array(),array($memberId));
//更新个人中心首页数量
\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId,-$return);
return true; return true;
} }
}
/** /**
* 关注的商品列表 * 关注的商品列表
......
...@@ -356,11 +356,15 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -356,11 +356,15 @@ class MemberServiceModel extends \Business\AbstractModel
/*$storeMemberDao = \DAO\StoreMemberModel::getInstance(\Our\DbNameConst::masterDBConnectName); /*$storeMemberDao = \DAO\StoreMemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$result = $storeMemberDao->addBatch($storeMember);*/ $result = $storeMemberDao->addBatch($storeMember);*/
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$storeIds = array_column($scan_store_ids,'store_id');
$list = $favoritesStoreDao->selectList(array('store_id'=>array('in',$storeIds),'member_id'=>$memberId,'fav_type'=>0),'store_id');
$list && $storeIds = array_column($list, 'store_id');
$result = $favoritesStoreDao->insertAll($storeMembers); $result = $favoritesStoreDao->insertAll($storeMembers);
if(!$result){ if(!$result){
\Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败'); \Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败');
return false; return false;
} }
$favoritesStoreDao->updateStoreCollecitonsCache($storeIds,$memberId,2);
$favoritesDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesDao = \DAO\FavoritesStoreModel::getInstance();
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array(),array($memberId)); \Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array(),array($memberId));
} }
......
...@@ -80,6 +80,8 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -80,6 +80,8 @@ class SalespersonServiceModel extends \Business\AbstractModel
$orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db1\SaleOrderRedisModel::getInstance(),array(&$saleOrderDAO, 'getOrderGoodsList'),array("sale_act_id in(".implode(',',$saleActArr).") AND sale_id = {$memberId} AND goods_id in(".implode(',',$goodsIds).")",'sum(goods_num) AS goodsCount,goods_name AS goodsName,goods_image AS goodsImage,goods_id AS goodsId,sale_act_id','goods_id',[],'sale_act_id'),\Our\ApiConst::halfDaySecond,array($memberId)); $orderGoodsList = \Our\RedisHelper::cachedFunction(\Redis\Db1\SaleOrderRedisModel::getInstance(),array(&$saleOrderDAO, 'getOrderGoodsList'),array("sale_act_id in(".implode(',',$saleActArr).") AND sale_id = {$memberId} AND goods_id in(".implode(',',$goodsIds).")",'sum(goods_num) AS goodsCount,goods_name AS goodsName,goods_image AS goodsImage,goods_id AS goodsId,sale_act_id','goods_id',[],'sale_act_id'),\Our\ApiConst::halfDaySecond,array($memberId));
$existIds = []; $existIds = [];
$storeModelDAO = \DAO\StoreModel::getInstance();
//数据处理
if($orderGoodsList && is_array($orderGoodsList)) { if($orderGoodsList && is_array($orderGoodsList)) {
foreach ($orderGoodsList as $v){ foreach ($orderGoodsList as $v){
$existIds[] = $v['goodsId']; $existIds[] = $v['goodsId'];
...@@ -96,16 +98,18 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -96,16 +98,18 @@ class SalespersonServiceModel extends \Business\AbstractModel
if(key_exists($v['sale_act_id'],$acts)){ if(key_exists($v['sale_act_id'],$acts)){
array_push($acts[$v['sale_act_id']]['goods'],$goods); array_push($acts[$v['sale_act_id']]['goods'],$goods);
}else{ }else{
$storeInfo = $storeModelDAO->getStoreInfoCache($actList[$v['sale_act_id']]['store_id']);
$storeLabel = $storeModelDAO->getStoreLabelSrc($storeInfo['store_label'],\Our\ImageConst::salestoreImg);
$qrCode = \Our\Common::getStaticFile($tempActs[$v['sale_act_id']],\Our\ImageConst::salesmanQr); $qrCode = \Our\Common::getStaticFile($tempActs[$v['sale_act_id']],\Our\ImageConst::salesmanQr);
$hashData[$v['sale_act_id']][$v['sale_act_id'].'_'.$memberId] = $qrCode; $hashData[$v['sale_act_id']][$v['sale_act_id'].'_'.$memberId] = $qrCode;
$acts[$v['sale_act_id']] = [ $acts[$v['sale_act_id']] = [
'storeId'=>$actList[$v['sale_act_id']]['store_id'], 'storeId'=>$actList[$v['sale_act_id']]['store_id'],
'storeName'=>$actList[$v['sale_act_id']]['store_name'], 'storeName'=>$storeInfo['store_name'],
'actId'=>$v['sale_act_id'], 'actId'=>$v['sale_act_id'],
'actName'=>$actList[$v['sale_act_id']]['sale_title'], 'actName'=>$actList[$v['sale_act_id']]['sale_title'],
'qrCode'=>$qrCode, 'qrCode'=>$qrCode,
'memberName'=>$memberName, 'memberName'=>$storeInfo['store_name'],
'memberAvatarUrl'=>$memberAvatarUrl, 'memberAvatarUrl'=>$storeLabel,
'goods'=>$goods ? array($goods) : $goods 'goods'=>$goods ? array($goods) : $goods
]; ];
} }
...@@ -113,6 +117,7 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -113,6 +117,7 @@ class SalespersonServiceModel extends \Business\AbstractModel
} }
if(is_array($goodsIds) && $goodsIds) { if(is_array($goodsIds) && $goodsIds) {
foreach ($goodsIds as $id){ foreach ($goodsIds as $id){
//没有销售量的商品,即在sale_order表中不存在数据的商品
if(!in_array($id,$existIds)){ if(!in_array($id,$existIds)){
if($goodsList[$id]) { if($goodsList[$id]) {
$data = [ $data = [
...@@ -129,15 +134,17 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -129,15 +134,17 @@ class SalespersonServiceModel extends \Business\AbstractModel
if(key_exists($saleGoods[$id],$acts)){ if(key_exists($saleGoods[$id],$acts)){
array_push($acts[$saleGoods[$id]]['goods'],$data); array_push($acts[$saleGoods[$id]]['goods'],$data);
}else{ }else{
$storeInfo = $storeModelDAO->getStoreInfoCache($actList[$saleGoods[$id]]['store_id']);
$storeLabel = $storeModelDAO->getStoreLabelSrc($storeInfo['store_label'],\Our\ImageConst::salestoreImg);
$qrCode = \Our\Common::getStaticFile($tempActs[$saleGoods[$id]],\Our\ImageConst::salesmanQr); $qrCode = \Our\Common::getStaticFile($tempActs[$saleGoods[$id]],\Our\ImageConst::salesmanQr);
$acts[$saleGoods[$id]] = [ $acts[$saleGoods[$id]] = [
'storeId'=>$actList[$saleGoods[$id]]['store_id'], 'storeId'=>$actList[$saleGoods[$id]]['store_id'],
'storeName'=>$actList[$saleGoods[$id]]['store_name'], 'storeName'=>$storeInfo['store_name'],
'actId'=>$saleGoods[$id], 'actId'=>$saleGoods[$id],
'actName'=>$actList[$saleGoods[$id]]['sale_title'], 'actName'=>$actList[$saleGoods[$id]]['sale_title'],
'qrCode'=>$qrCode, 'qrCode'=>$qrCode,
'memberName'=>$memberName, 'memberName'=>$storeInfo['store_name'],
'memberAvatarUrl'=>$memberAvatarUrl, 'memberAvatarUrl'=>$storeLabel,
'goods'=>$data ? array($data) : $data 'goods'=>$data ? array($data) : $data
]; ];
$hashData[$saleGoods[$id]][$saleGoods[$id].'_'.$memberId] = $qrCode; $hashData[$saleGoods[$id]][$saleGoods[$id].'_'.$memberId] = $qrCode;
...@@ -231,15 +238,18 @@ class SalespersonServiceModel extends \Business\AbstractModel ...@@ -231,15 +238,18 @@ class SalespersonServiceModel extends \Business\AbstractModel
$qrcode = \Redis\Db1\SaleOrderRedisModel::getInstance()->tableHGet('orderGoods_'.$actId,$actId.'_'.$memberId); $qrcode = \Redis\Db1\SaleOrderRedisModel::getInstance()->tableHGet('orderGoods_'.$actId,$actId.'_'.$memberId);
$goods = \Redis\Db1\SaleOrderRedisModel::getInstance()->tableHGet('orderGoods_'.$actId,$actId.'_'.$memberId.'_'.$goodsId); $goods = \Redis\Db1\SaleOrderRedisModel::getInstance()->tableHGet('orderGoods_'.$actId,$actId.'_'.$memberId.'_'.$goodsId);
} }
$storeModelDAO = \DAO\StoreModel::getInstance();
if($act && $qrcode && $goods) { if($act && $qrcode && $goods) {
$act = unserialize($act); $act = unserialize($act);
$goods = unserialize($goods); $goods = unserialize($goods);
$storeInfo = $storeModelDAO->getStoreInfoCache($act['store_id']);
$storeLabel = $storeModelDAO->getStoreLabelSrc($storeInfo['store_label'],\Our\ImageConst::salestoreImg);
$info['storeId'] = $act['store_id']; $info['storeId'] = $act['store_id'];
$info['storeName'] = $act['store_name']; $info['storeName'] = $storeInfo['store_name'];
$info['actName'] = $act['sale_title']; $info['actName'] = $act['sale_title'];
$info['qrCode'] = $qrcode; $info['qrCode'] = $qrcode;
$info['memberName'] = $memberName; $info['memberName'] = $storeInfo['store_name'];
$info['memberAvatarUrl'] = $memberAvatarUrl; $info['memberAvatarUrl'] = $storeLabel;
$info = array_merge($info,$goods); $info = array_merge($info,$goods);
}else{ }else{
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saleActOrGoodsNotExist); \Error\ErrorModel::throwException(\Error\CodeConfigModel::saleActOrGoodsNotExist);
......
...@@ -27,7 +27,10 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -27,7 +27,10 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
public function init(){ public function init(){
} }
public function getFavoritesStores($where,$field) {
$this->setDb($this->dbName);
return $this->db->select($field)->where($where)->from($this->_tableName)->order('fav_time','DESC')->fetchAll();
}
public function getList($where,$field,$pageIndex,$pageSize,$memberId){ public function getList($where,$field,$pageIndex,$pageSize,$memberId){
$this->setDb($this->dbName); $this->setDb($this->dbName);
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(); 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();
...@@ -108,8 +111,8 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -108,8 +111,8 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
public function insertOrUpdate($data){ public function insertOrUpdate($data){
$this->setDb(\Our\DbNameConst::masterDBConnectName); $this->setDb(\Our\DbNameConst::masterDBConnectName);
$baseSql = "insert into {$this->_tableName}(member_id,store_id,fav_type,fav_time) values({0},{1},1,{2}) ON DUPLICATE KEY UPDATE fav_type=1,fav_time=VALUES (fav_time)"; $baseSql = "insert into {$this->_tableName}(member_id,store_id,fav_type,fav_time,fav_from) values({0},{1},{2},{3},{4}) ON DUPLICATE KEY UPDATE fav_type=VALUES (fav_type),fav_time=VALUES (fav_time),fav_from = VALUES (fav_from)";
$sql = \Our\Common::format($baseSql, $data['member_id'], $data['store_id'],$data['fav_time']); $sql = \Our\Common::format($baseSql, $data['member_id'], $data['store_id'],$data['fav_type'],$data['fav_time'],$data['fav_from']);
$result = $this->db->insert($this->_tableName)->query($sql); $result = $this->db->insert($this->_tableName)->query($sql);
if($result){ if($result){
if($data&&(isset($data['member_id'])&&$data['member_id'])){ if($data&&(isset($data['member_id'])&&$data['member_id'])){
...@@ -176,7 +179,36 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -176,7 +179,36 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$res = $this->db->insert($this->_tableName)->query($sql); $res = $this->db->insert($this->_tableName)->query($sql);
return $res; return $res;
} }
/**
* @param $storeIds
* @param $memberId
* @param int $type 取消关注:1 关注:2
* @return bool
* @throws \Our\Exception
*/
public function updateStoreCollecitonsCache($storeIds, $memberId, $type = 1) {
if(!$storeIds || !is_array($storeIds)) {
return true;
}
//删除缓存
foreach ($storeIds as $storeId) {
//更新店铺收藏数
$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));
//更新个人中心首页数量
\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId,$type == 1 ? -(count($storeIds)) : count($storeIds));
return true;
}
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);
......
...@@ -436,9 +436,9 @@ class OrderModel extends \DAO\AbstractModel ...@@ -436,9 +436,9 @@ class OrderModel extends \DAO\AbstractModel
$orderText = ''; $orderText = '';
if ($order['orderState'] == ApiConst::orderStateWaitRecieve) { if ($order['orderState'] == ApiConst::orderStateWaitRecieve) {
$orderText = OrderConst::getOnShop;//默认到店自取 $orderText = OrderConst::getOnShop;//默认到店自取
if ($order['shippingType'] == ApiConst::express) { // if ($order['shippingType'] == ApiConst::express) {
$orderText = OrderConst::waitRecieve; // $orderText = OrderConst::waitRecieve;
} // }
if ($order['shippingType'] == ApiConst::bySeller) { if ($order['shippingType'] == ApiConst::bySeller) {
$orderText = OrderConst::sendding; $orderText = OrderConst::sendding;
} }
......
...@@ -85,8 +85,8 @@ class StoreModel extends \DAO\AbstractModel ...@@ -85,8 +85,8 @@ class StoreModel extends \DAO\AbstractModel
*/ */
public function getStoreLabelSrc($storeLabel, $width = \Our\ImageConst::circleStoreLabel, $height = 0) public function getStoreLabelSrc($storeLabel, $width = \Our\ImageConst::circleStoreLabel, $height = 0)
{ {
$width = $width * \Our\ImageConst::sizeScale; $width = ceil($width * \Our\ImageConst::sizeScale);
$height ? $height = $height * \Our\ImageConst::sizeScale : $height = $width; $height ? $height = ceil($height * \Our\ImageConst::sizeScale) : $height = $width;
if ($storeLabel) { if ($storeLabel) {
$storeLabel = \Our\Common::getStaticFile($storeLabel, \Our\ImageConst::storeLabel, 'ossHost'); $storeLabel = \Our\Common::getStaticFile($storeLabel, \Our\ImageConst::storeLabel, 'ossHost');
} else { } else {
......
...@@ -28,6 +28,10 @@ class StoreScoreStatisticsModel extends \DAO\AbstractModel { ...@@ -28,6 +28,10 @@ class StoreScoreStatisticsModel extends \DAO\AbstractModel {
$this->setDb(); $this->setDb();
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne(); return $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
} }
public function getStoreScoreStatistics($where, $field) {
$this->setDb();
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchAll();
}
public function insertOrUpdate($data){ public function insertOrUpdate($data){
$this->setDb(\Our\DbNameConst::masterDBConnectName); $this->setDb(\Our\DbNameConst::masterDBConnectName);
$baseSql = "insert into {$this->_tableName}(store_id,evaluation_score,evaluation_number) values({0},{1},{2}) ON DUPLICATE KEY UPDATE evaluation_number = VALUES(evaluation_number),evaluation_score=VALUES(evaluation_score)"; $baseSql = "insert into {$this->_tableName}(store_id,evaluation_score,evaluation_number) values({0},{1},{2}) ON DUPLICATE KEY UPDATE evaluation_number = VALUES(evaluation_number),evaluation_score=VALUES(evaluation_score)";
......
<table class="" style="test-align:center"> <p>更新备注</p><p>请求参数</p><p>orderState:订单状态(多个用英文逗号分割),全部时不用传此参数为:待付款:10:待自提,26,待收货:31,待评价:40 旧版弃用 的状态待发货,25:待收货 30</p><p>
返回的文案参考列表</p>
<table class="">
<tbody> <tbody>
<tr> <tr>
<td> 订单状态(orderState)</td> <td> 订单状态
<td> 配送类型(shippingType)</td> orderState
<td> 支付状态(isReceivePayment)</td> </td>
<td><span style="color: rgb(51, 51, 51); font-family: " arial="" negreta",="" arial;="" font-size:="" 13px;="" <td> 配送类型
font-weight:="" 700;="" text-align:="" center;="" white-space:="" normal;"="">订单状态(列表文案)</span> </td> shippingType
</td>
<td> 支付状态
isReceivePayment
</td>
<td> 订单下单时间<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
negreta",="" arial;="" font-size:="" 13px;="" font-weight:="" 700;="" text-align:="" center;=""
white-space:="" normal;"="">(跟当前时间对比)</p></td>
<td> 删除订单</td>
<td> 订单状态(列表文案)</td>
<td> 商品额外文案</td> <td> 商品额外文案</td>
<td> 状态/倒计时</td> <td> 商品额外操作</td>
<td> 用户文案</td>
<td> 用户操作(按钮)</td>
<td> 店家文案</td>
<td> 店家操作</td> <td> 店家操作</td>
</tr> </tr>
<tr> <tr>
<td> 20</td> <td>-1/ 0/40</td>
<td></td>
<td></td>
<td> &lt;10分钟</td>
<td></td>
<td><br></td>
<td></td>
<td></td>
<td></td>
<td><span style="color: rgb(51, 51, 51); font-family: " arial="" normal",="" arial;="" font-size:="" 13px;=""
text-align:="" center;="" white-space:="" normal;"="">取消订单</span></td>
<td></td>
<td></td>
</tr>
<tr>
<td> 10</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td> 待付款</td>
<td> 10分钟内未付款订单将自动关闭</td>
<td></td>
<td> 等待您付款<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:="" normal;"="">剩余关闭时间:5分
23秒</p></td>
<td> 立即付款<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:="" normal;"="">取消订单</p>
</td>
<td></td> <td></td>
<td> 1541568512(大于0的时间戳)</td>
<td> 待接单</td>
<td></td> <td></td>
<td> 请尽快确认订单<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;">
剩余关闭时间:5分 23秒</p></td>
<td> 接单</td>
</tr> </tr>
<tr> <tr>
<td> 20</td> <td> 20</td>
<td></td> <td></td>
<td> 0</td> <td></td>
<td> 待接单</td> <td></td>
<td></td> <td></td>
<td> 请尽快确认订单<p <td>待接单<br></td>
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;"> <td></td>
剩余关闭时间:5分 23秒</p></td> <td></td>
<td> 修改价格<p <td> 等待卖家接单<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;"> style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
确认收款</p> kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
<p style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;"> normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:="" normal;"="">剩余关闭时间:5分
接单</p></td> 23秒</p></td>
<td> 取消订单</td>
<td></td>
<td></td>
</tr> </tr>
<tr> <tr>
<td> 25</td>
<td></td> <td></td>
<td> 大于0的时间戳</td>
<td></td> <td></td>
<td></td> <td></td>
<td> 待付款</td> <td>配送中<br></td>
<td></td>
<td> 退款<span style="font-family: " arial="" normal",="" arial;="" font-size:="" 13px;="" text-align:=""
center;="" white-space:="" normal;="" color:="" rgb(255,="" 0,="" 0);"="">(退款规则)</span></td>
<td> 等待卖家发货</td>
<td> 提醒发货(调用店家IM界面)</td>
<td></td>
<td></td> <td></td>
<td> 待线上付款</td>
<td> 修改价格</td>
</tr> </tr>
<tr> <tr>
<td> 25</td>
<td></td> <td></td>
<td> 0</td>
<td></td>
<td></td>
<td> 配送中</td>
<td></td>
<td></td>
<td> 等待卖家发货</td>
<td> 提醒发货(调用店家IM界面)</td>
<td></td> <td></td>
<td></td> <td></td>
<td> 待配送</td>
<td> {售后状态}<span
style="font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal; color: rgb(0, 0, 0);">(可能存在)</span>
</td>
<td> 待配送</td>
<td> 选择配送人员<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;">
打印订单</p></td>
</tr> </tr>
<tr> <tr>
<td> 30</td>
<td> 1</td>
<td> 大于0的时间戳<br></td>
<td></td> <td></td>
<td></td> <td></td>
<td> 配送中</td>
<td></td>
<td> 退款<br></td>
<td> 配送中</td>
<td> 确认收货</td>
<td></td>
<td></td> <td></td>
<td> 待配送</td>
<td> {售后状态}<span
style="color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; white-space: normal; text-align: center;">(可能存在)</span>
</td>
<td> 待配送</td>
<td> 修改价格<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;">
确认收款</p>
<p style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;">
<span style="color: rgb(0, 0, 0);">选择配送人员</span></p>
<p style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;">
<span style="color: rgb(0, 0, 0);">打印订单</span></p></td>
</tr> </tr>
<tr> <tr>
<td> 30</td>
<td> 1</td>
<td> 0</td>
<td></td> <td></td>
<td></td> <td></td>
<td> 配送中</td>
<td></td> <td></td>
<td> 待自提</td> <td><br></td>
<td> {售后状态}<span <td> 配送中</td>
style="color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; white-space: normal; text-align: center;">(可能存在)</span> <td> 确认收货<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:="" normal;"="">取消订单</p>
</td> </td>
<td></td>
<td></td>
</tr>
<tr>
<td> 30</td>
<td> 0</td>
<td> 大于0的时间戳</td>
<td></td>
<td></td>
<td> 到店自提</td>
<td></td>
<td> 退款</td>
<td> 待到店自取</td> <td> 待到店自取</td>
<td> 修改价格<p <td> 确认收货</td>
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;"> <td></td>
确认收款</p></td> <td></td>
</tr> </tr>
<tr> <tr>
<td> 30</td>
<td> 0</td>
<td> 0</td>
<td></td> <td></td>
<td></td> <td></td>
<td> 到店自提</td>
<td></td>
<td></td> <td></td>
<td> 待自提</td>
<td> {售后状态}<span
style="color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; white-space: normal; text-align: center;">(可能存在)</span>
</td>
<td> 待到店自取</td> <td> 待到店自取</td>
<td><p style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:="" normal;"="">确认收货</p>
<span style="color: rgb(51, 51, 51); font-family: " arial="" normal",="" arial;="" font-size:="" 13px;=""
text-align:="" center;="" white-space:="" normal;"="">取消订单</span> </td>
<td></td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
<td> 40</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td> 可以</td>
<td> 已完成</td> <td> 已完成</td>
<td> {售后状态}<span <td></td>
style="color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; white-space: normal; text-align: center;">(可能存在)</span> <td> 退货(可能存在)</td>
</td>
<td> 订单已完成</td> <td> 订单已完成</td>
<td> 未收到货(调用店家IM界面)<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:="" normal;"="">去评价</p>
</td>
<td></td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
<td> 0</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td> 可以</td>
<td> 已取消</td> <td> 已取消</td>
<td> {售后状态}<span <td></td>
style="color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; white-space: normal; text-align: center;">(可能存在)</span> <td></td>
</td>
<td> 已取消<p <td> 已取消<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;"> style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
{取消原因}(orderNote)</p></td> kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:=""
normal;"="">{取消原因}</p></td>
<td></td>
<td></td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
<td> -1</td>
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td> 可以</td>
<td> 已关闭</td> <td> 已关闭</td>
<td> {售后状态}<span <td></td>
style="color: rgb(0, 0, 0); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; white-space: normal; text-align: center;">(可能存在)</span> <td></td>
</td>
<td> 已关闭<p <td> 已关闭<p
style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: &quot;kern&quot;; font-kerning: normal; color: rgb(51, 51, 51); font-family: &quot;Arial Normal&quot;, Arial; font-size: 13px; text-align: center; white-space: normal;"> style="margin-top: 0px; margin-bottom: 0px; text-rendering: optimizeLegibility; font-feature-settings: "
{关闭原因}(orderNodte)</p></td> kern";="" font-kerning:="" normal;="" color:="" rgb(51,="" 51,="" 51);="" font-family:="" "arial=""
normal",="" arial;="" font-size:="" 13px;="" text-align:="" center;="" white-space:=""
normal;"="">{关闭原因}</p></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td> <td></td>
</tr> </tr>
<tr> <tr>
<td></td> <td></td>
...@@ -155,7 +250,11 @@ ...@@ -155,7 +250,11 @@
<td></td> <td></td>
<td></td> <td></td>
<td></td> <td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr> </tr>
</tbody> </tbody>
</table><p><br></p> </table><p><br></p>
\ No newline at end of file
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