Commit 75ccd79f authored by liuyuzhen's avatar liuyuzhen

首页及关注店铺问题

parent 554b7434
...@@ -31,6 +31,16 @@ class CollectionController extends \Our\Controller_AbstractApi { ...@@ -31,6 +31,16 @@ class CollectionController extends \Our\Controller_AbstractApi {
} }
/**
* 扫码关注店铺
*/
public function updateScanStoreAction(){
\Business\Store\StoreServiceModel::getInstance()->updateFavoritesStore($this->req[\Our\NameConst::data],$this->memberId);
$this->success(new \stdClass(),\Our\DescribeConst::scanSuccess);
}
/** /**
* 关注 商品 * 关注 商品
* *
......
...@@ -43,10 +43,22 @@ class HomeController extends \Our\Controller_AbstractIndex{ ...@@ -43,10 +43,22 @@ class HomeController extends \Our\Controller_AbstractIndex{
$shareInfo = \Business\Common\CommonServiceModel::getInstance()->getShareInfo(\Our\ApiConst::sharePlat); $shareInfo = \Business\Common\CommonServiceModel::getInstance()->getShareInfo(\Our\ApiConst::sharePlat);
$returnData['shareInfo'] = $shareInfo; $returnData['shareInfo'] = $shareInfo;
$storeId = $this->getMyFavoritesStoreAction(true);
$returnData['relateStoreId'] = (int)$storeId;
$this->success($returnData); $this->success($returnData);
} }
public function getMyFavoritesStoreAction($flag = false){
$mebmerService = \Business\User\MemberServiceModel::getInstance();
$memberId=$this->sess->get('member_id');
$storeId =$mebmerService->getMyFavoritesStore($memberId);
if($flag){
return $storeId;
}
$this->success($storeId);
}
/** /**
* 设置当前地址 * 设置当前地址
......
...@@ -66,7 +66,8 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -66,7 +66,8 @@ class UserController extends \Our\Controller_AbstractIndex {
$this->sess[NameConst::sessionKey]=$this->key; $this->sess[NameConst::sessionKey]=$this->key;
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
$this->memberService->saveMember($member); $this->memberService->saveMember($member);
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id'])); $storeId =$this->memberService->getMyFavoritesStore($member['member_id']);
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id'],'relateStoreId'=>(int)$storeId));
}else{ }else{
ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword); ErrorModel::throwException(CodeConfigModel::errorUsernameOrPassword);
} }
...@@ -102,7 +103,9 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -102,7 +103,9 @@ class UserController extends \Our\Controller_AbstractIndex {
$this->sess[NameConst::sessionKey]=$this->key; $this->sess[NameConst::sessionKey]=$this->key;
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
//$this->memberService->saveMember($member); //$this->memberService->saveMember($member);
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl']));
$storeId =$this->memberService->getMyFavoritesStore($member['member_id']);
$this->success(array('key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'relateStoreId'=>(int)$storeId));
} }
ErrorModel::throwException(CodeConfigModel::wxAuthInfoLoginFailed); ErrorModel::throwException(CodeConfigModel::wxAuthInfoLoginFailed);
...@@ -154,7 +157,8 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -154,7 +157,8 @@ class UserController extends \Our\Controller_AbstractIndex {
$member[NameConst::sessionKey]=$this->key; $member[NameConst::sessionKey]=$this->key;
$member['login_time']=TIMESTAMP; $member['login_time']=TIMESTAMP;
$this->memberService->saveMember($member); $this->memberService->saveMember($member);
$this->success(array('userFlag'=>\Our\ApiConst::one,'key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id'])); $storeId =$this->memberService->getMyFavoritesStore($member['member_id']);
$this->success(array('userFlag'=>\Our\ApiConst::one,'key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl'],'memberId'=>(int)$member['member_id'],'relateStoreId'=>(int)$storeId));
}else{ }else{
$this->success(array('userFlag'=>\Our\ApiConst::zero)); $this->success(array('userFlag'=>\Our\ApiConst::zero));
} }
......
...@@ -76,6 +76,8 @@ class DescribeConst ...@@ -76,6 +76,8 @@ class DescribeConst
const collectSuccess = '关注成功'; const collectSuccess = '关注成功';
const scanSuccess = '扫码关注成功';
const cancelCollectSuccess = '取消关注成功'; const cancelCollectSuccess = '取消关注成功';
const moveToFavoritesSuccess = '移入收藏夹成功'; const moveToFavoritesSuccess = '移入收藏夹成功';
......
...@@ -193,7 +193,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{ ...@@ -193,7 +193,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
//判断签约分类是否可以为当前用户提供服务,并且记录这些店铺对应的store_id //判断签约分类是否可以为当前用户提供服务,并且记录这些店铺对应的store_id
if($inAreaFlag){ if($inAreaFlag){
$store =$storeDao->getStoreInfoCache($signClass['store_id']); $store =$storeDao->getStoreInfoCache($signClass['store_id']);
$class_distance = \Our\CommonExtension::getDistance($lat,$lng,$store['store_latitude'],$signClass['store_latitude'],1); $class_distance = \Our\CommonExtension::getDistance($lat,$lng,$store['store_latitude'],$store['store_latitude'],1);
$class = $signClass; $class = $signClass;
$class['class_distance'] = $class_distance; $class['class_distance'] = $class_distance;
$returnClass[$class_distance] = $class; $returnClass[$class_distance] = $class;
......
...@@ -49,6 +49,8 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -49,6 +49,8 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeMembers[] = $storeMember; $storeMembers[] = $storeMember;
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance(); $favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$result = $favoritesStoreDao->insertAll($storeMembers); $result = $favoritesStoreDao->insertAll($storeMembers);
$favoritesDao = \DAO\FavoritesStoreModel::getInstance();
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array(),array($memberId));
}else{ }else{
$sess=\Yaf\Session::getInstance(); $sess=\Yaf\Session::getInstance();
$scan_store_ids = $sess->get('scan_store_ids'); $scan_store_ids = $sess->get('scan_store_ids');
...@@ -373,6 +375,37 @@ class StoreServiceModel extends \Business\AbstractModel{ ...@@ -373,6 +375,37 @@ class StoreServiceModel extends \Business\AbstractModel{
} }
} }
/**
* 上传当前用户的关注店铺
* @param $param
* @param $memberId
*/
public function updateFavoritesStore($param,$memberId){
if(!(isset($param['storeId'])&&$param['storeId'])){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyScanStoreId);
}
$storeId = trim($param['storeId']);
$storeInfo = \DAO\StoreModel::getInstance()->get($storeId,false);
if(!$storeInfo){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyScanStoreInfo);
}
$storeMembers = array();
$storeMember = array();
$storeMember['store_id'] = $storeId;
$storeMember['member_id'] = $memberId;
$storeMember['fav_from'] = \Our\ApiConst::scanFavor;
$storeMember['fav_type'] = \Our\ApiConst::one;
$storeMembers[] = $storeMember;
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$result = $favoritesStoreDao->insertAll($storeMembers);
if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saveScanStoreInfoFailed);
}
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesStoreDao, 'getOne'),array(),array($memberId));
return true;
}
/** /**
* 获取搜索页推荐关键字 * 获取搜索页推荐关键字
* @param $param * @param $param
......
...@@ -361,6 +361,8 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -361,6 +361,8 @@ class MemberServiceModel extends \Business\AbstractModel
\Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败'); \Our\Log::getInstance()->write(json_encode($storeMembers).'扫码数据写入失败');
return false; return false;
} }
$favoritesDao = \DAO\FavoritesStoreModel::getInstance();
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array(),array($memberId));
} }
$scan_sale_ids = $sess->get('scan_sale_ids'); $scan_sale_ids = $sess->get('scan_sale_ids');
if($scan_sale_ids){ if($scan_sale_ids){
...@@ -1077,5 +1079,24 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -1077,5 +1079,24 @@ class MemberServiceModel extends \Business\AbstractModel
} }
/**
* 获取当前用户最新的扫码关注店铺
* @param $memberId
* @return int
* @throws \Our\Exception
*/
public function getMyFavoritesStore($memberId){
if($memberId){
$favoritesDao = \DAO\FavoritesStoreModel::getInstance();
$favStore = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$favoritesDao, 'getOne'),array('store_id',array('fav_from'=>\Our\ApiConst::scanFavor,'member_id'=>$memberId)),\Our\ApiConst::oneDaySecond,array($memberId));
if($favStore&&$favStore['store_id']){
return $favStore['store_id'];
}
}
return \Our\ApiConst::zero;
}
} }
...@@ -45,9 +45,15 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -45,9 +45,15 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
return $this->db->fetchAll(); return $this->db->fetchAll();
} }
public function getOne($field,$where){ public function getOne($field,$where,$order = array('fav_time'=>'desc')){
$this->setDb($this->dbName); $this->setDb($this->dbName);
return $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne(); if($order){
foreach($order as $key=>$value){
$this->db->order($key,$value);
}
}
$result = $this->db->select($field)->from($this->_tableName)->where($where)->fetchOne();
return $result;
} }
public function insert($param){ public function insert($param){
......
...@@ -127,6 +127,9 @@ class CodeConfigModel ...@@ -127,6 +127,9 @@ class CodeConfigModel
const emptyStoreId = 40007; const emptyStoreId = 40007;
const saveReportError = 40008; const saveReportError = 40008;
const stroeReceiveError = 40009; const stroeReceiveError = 40009;
const emptyScanStoreId = 40010;
const emptyScanStoreInfo = 40011;
const saveScanStoreInfoFailed = 40012;
//购物车 //购物车
const wrongCartType = 50001; const wrongCartType = 50001;
...@@ -530,6 +533,9 @@ class CodeConfigModel ...@@ -530,6 +533,9 @@ class CodeConfigModel
self::emptyReportStoreType => '举报类型不能为空', self::emptyReportStoreType => '举报类型不能为空',
self::emptyStores => '没找到相关店铺', self::emptyStores => '没找到相关店铺',
self::stroeReceiveError => '店铺接单错误', self::stroeReceiveError => '店铺接单错误',
self::emptyScanStoreId => '扫码关注店铺ID为空',
self::emptyScanStoreInfo => '扫码关注店铺不存在',
self::saveScanStoreInfoFailed => '扫码店铺保存失败',
//购物车相关 //购物车相关
self::wrongCartType => '加入购物车类型不能为空', self::wrongCartType => '加入购物车类型不能为空',
......
...@@ -395,7 +395,7 @@ elastic.master.host="192.168.1.201" ...@@ -395,7 +395,7 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200" elastic.master.port="9200"
elastic.master.scheme="http"; elastic.master.scheme="http";
[lyztest : common] [lyz : 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 = "127.0.0.1"
...@@ -442,7 +442,7 @@ elastic.master.host="192.168.1.201" ...@@ -442,7 +442,7 @@ elastic.master.host="192.168.1.201"
elastic.master.port="9200" elastic.master.port="9200"
elastic.master.scheme="http"; elastic.master.scheme="http";
[lyz : 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 = "127.0.0.1"
......
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