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;
} }
} }
......
...@@ -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)";
......
This diff is collapsed.
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