Commit 086b0114 authored by liuyuzhen's avatar liuyuzhen

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

parents db111bd7 34adc603
......@@ -26,6 +26,26 @@ class AuthinfoController extends \Our\Controller_Abstract
$name = $this->req->getQuery('name');
throw new Exception('hello ', 404);
}
public function otherLoginAction(){
$this->req=$this->getRequest()->getQuery();
$postData['key']=$this->req['key'];
$postData['authSign']=$this->req['authSign'];
if($postData['authSign']==md5($postData['key'].\Our\SecretKeys::authKey)){
session_id($postData['key']);
$this->sess=\Yaf\Session::getInstance();
$this->sess->start();
$memberId=$this->sess->get('member_id');
if(!empty($memberId)){
$this->sess->set('other_login',\Our\ApiConst::one);
}else{
}
}else{
}
\Yaf\Dispatcher::getInstance()->disableView();
}
public function testAction()
{
......
......@@ -14,11 +14,18 @@ class UserController extends \Our\Controller_AbstractIndex {
}
public function indexAction() {
private function indexAction() {
$login=LoginV2Model::getInstance();
echo $login->login();
}
private function updateOldLoginKey($token){
$params['authSign']=md5($token.\Our\SecretKeys::authKey);
$params['key']=$token;
$paramsStr=http_build_query($params);
$domain= Bootstrap::getUrlIniConfig('resourcesHost');
$getUrl=$domain.\Our\PathConst::authInfoOtherLogin.'?'.$paramsStr;
file_get_contents($getUrl);
}
/**
* 用户登录
*
......@@ -41,12 +48,15 @@ class UserController extends \Our\Controller_AbstractIndex {
if(!$result['status']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::loginBindUserInfoFailed);
}
if(isset($result['member'])&&$member){
if(isset($result['member'])&&$member){
$member = array_merge($member,$result['member']);
}
}
$userToken=$this->memberService->findMbUserTokenByMemberId($member['member_id']);
$this->memberService->clearKey($userToken['token']);
if(!empty($userToken['token'])){
$this->updateOldLoginKey($userToken['token']);
//$this->memberService->clearKey($userToken['token']);
}
if($member){
$this->memberService->clearKey($this->key);
$this->key=Common::bulidToken($mobile,$password);
......@@ -129,6 +139,7 @@ class UserController extends \Our\Controller_AbstractIndex {
$this->sess['user_type'] = $where['userType'];
$this->sess[NameConst::sessionKey]=$this->key;
$member[NameConst::sessionKey]=$this->key;
$member['login_time']=TIMESTAMP;
$this->memberService->saveMember($member);
$this->success(array('userFlag'=>\Our\ApiConst::one,'key'=>$this->key,'memberName'=>$member['member_name'],'memberAvatar'=>$member['memberAvatarUrl']));
}else{
......
<?php
namespace Our;
use Business\User\MemberServiceModel;
use Error\CodeConfigModel;
use Error\ErrorModel;
/**
......@@ -33,6 +34,11 @@ abstract class Controller_AbstractApi extends \Our\Controller_Abstract {
if(empty($this->memberId)){
ErrorModel::throwException(CodeConfigModel::noLogin);
}
if(isset($sess['other_login']) && $sess['other_login']==ApiConst::one){
$memberService=MemberServiceModel::getInstance();
$memberService->clearKey($this->req['data']['key']);
ErrorModel::throwException(CodeConfigModel::otherDriverLogin);
}
\Yaf\Dispatcher::getInstance()->disableView();
}
public function getAuthKey(){
......
......@@ -39,6 +39,8 @@ class PathConst {
const orderConfirmTaskAddTime="/orderConfirmTaskAddTime.conf";
const orderId="orderId={0}";
const authInfoOtherLogin="/authInfo/otherLogin";
//const favoritesStoreFavTimeConf="favoritesStoreFavTime.conf";
......
......@@ -162,6 +162,7 @@ class FootprintServiceModel extends \Business\AbstractModel
\Our\RedisHelper::delCachedFunction(\Redis\Db4\GoodsBrowserRedisModel::getInstance(),array(&$browseDAO, 'getGoodsListWithSale'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction(\Redis\Db4\GoodsBrowserRedisModel::getInstance(),array(&$browseDAO, 'getGoodsList'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction(\Redis\Db4\GoodsBrowserRedisModel::getInstance(),array(&$browseDAO, 'getCount'),array(),array($memberId));
\Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::footprint);
return true;
}
}
......
......@@ -68,19 +68,19 @@ class MemberCenterServiceModel extends \Business\AbstractModel
}
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitPay) === false){
$memberCenter[NameConst::waitPay] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitPay,'buyer_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitPay,$memberCenter[NameConst::footprint]);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitPay,$memberCenter[NameConst::waitPay]);
}
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitShipments) === false){
$memberCenter[NameConst::waitShipments] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state in('.ApiConst::orderStateWaitConfirm.','.ApiConst::orderStateWaitSend.')',"buyer_id = {$memberId}"),false);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitShipments,$memberCenter[NameConst::footprint]);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitShipments,$memberCenter[NameConst::waitShipments]);
}
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::waitReceiving) === false){
$memberCenter[NameConst::waitReceiving] = \DAO\Order\OrderModel::getInstance()->getCount(array('order_state'=>ApiConst::orderStateWaitRecieve,'buyer_id'=>$memberId));
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitReceiving,$memberCenter[NameConst::footprint]);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitReceiving,$memberCenter[NameConst::waitReceiving]);
}
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 in('.ApiConst::waitEvaluation.','.ApiConst::pastWaitEvaluation.')'),false);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitEvaluate,$memberCenter[NameConst::footprint]);
$memebrCenterDb1Redis->tableHSet($memberId,NameConst::waitEvaluate,$memberCenter[NameConst::waitEvaluate]);
}
if($memebrCenterDb1Redis->tableHExists($memberId,NameConst::refund) === false){
$memberCenter[NameConst::refund] = \DAO\Order\RefundReturnModel::getInstance()->getCount(array('seller_state = '.ApiConst::refundSellerVerify.' OR (is_platform_in = '.ApiConst::platIn.' AND platform_state = '.ApiConst::refundPlatformVerify.')','buyer_id'=>$memberId));
......
......@@ -3,6 +3,7 @@
namespace DAO;
use Our\ApiConst;
use Our\Common;
use Our\CommonExtension;
......@@ -379,8 +380,10 @@ class GoodsModel extends \DAO\AbstractModel {
//ccw
public function convert($goodses,$extentField=false){
foreach($goodses as &$goods){
if(!empty($extentField) || empty($goods['refundStateName'])){
$goods['refundStateName']=$extentField;
if($goods['refundId']==ApiConst::zero){
if((!empty($extentField) || empty($goods['refundStateName'])) ){
$goods['refundStateName']=$extentField;
}
}
$goods['goodsImage']=\Our\ImageUtil::getGoodsImgUrl($goods['goodsImage'],\Our\ApiConst::goodsSmallSize);
if($goods['goodsSpec']){
......
......@@ -102,7 +102,6 @@ class MemberModel extends \DAO\AbstractModel
$this->setDb(\Our\DbNameConst::masterDBConnectName);
$result = $this->db->update($this->_tableName)->rows($data)->where(array('member_id' => $memberId))->execute();
if ($result) {
$memberDb0Redis = \Redis\Db0\MemberRedisModel::getInstance();
$member = $data;
if (isset($member['member_avatar']) && $member['member_avatar']) {
......
......@@ -98,7 +98,7 @@ class SaleMemberModel extends \DAO\AbstractModel {
*/
public function isJoinPlatform($memberId){
//$saleDAO = \DAO\SaleMemberModel::getInstance();
$activities = \Our\RedisHelper::cachedFunction(\Redis\Db4\GoodsBrowserRedisModel::getInstance(),array(&$this, 'getActAndSale'),array(array('han_sale_member.member_id'=>$memberId),'han_sale_activity.sale_act_id,han_sale_activity.sale_start_date,han_sale_activity.sale_end_date,han_sale_member.sale_id'),\Our\ApiConst::tenMinSecond);
$activities = \Our\RedisHelper::cachedFunction(\Redis\Db4\SaleMemberRedisModel::getInstance(),array(&$this, 'getActAndSale'),array(array('han_sale_member.member_id'=>$memberId),'han_sale_activity.sale_act_id,han_sale_activity.sale_start_date,han_sale_activity.sale_end_date,han_sale_member.sale_id'),\Our\ApiConst::tenMinSecond);
$acts = [];
if($activities){
foreach ($activities as $k=>$v){
......
......@@ -89,6 +89,7 @@ class CodeConfigModel {
const updateMobileMembmerFailed = 10076;
const updateMobileMembmerMappingFailed = 10077;
const currentMobileHasBeenBind = 10078;
const otherDriverLogin=10105;
//访问错误
const illegalAccess=200001;
......@@ -743,6 +744,7 @@ class CodeConfigModel {
self::updateMobileMembmerFailed => '更新手机号对应会员信息失败',
self::updateMobileMembmerMappingFailed => '更新手机号码对应会员mapping信息失败',
self::currentMobileHasBeenBind => '当前手机号码已经绑定其他微信,如需绑定,请先手机号码登录app进行微信解绑',
self::otherDriverLogin=>'当前用户已被其他设备登录,请重新登录',
self::elasticsError=>'全文索引连接出错'
);
}
......
......@@ -28,12 +28,10 @@ while ($memberId = $browserDb4Redis->tableSPop('memberIds')){
}
$return = \DAO\GoodsBrowseModel::getInstance()->insertAllOrUpdate($datas);
if($return){
\Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::footprint);
$browserDb4Redis->tableDel('memberId:g_'.$memberId);
}
}
// \Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::footprint);
// $browserDb4Redis->tableDel('memberId:'.$memberId);
\Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::footprint);
}
}else{
$records = $browserDb4Redis->tableHGAll('memberId:g_'.$memberId);
......@@ -46,10 +44,10 @@ while ($memberId = $browserDb4Redis->tableSPop('memberIds')){
}
$return = \DAO\GoodsBrowseModel::getInstance()->insertAllOrUpdate($datas);
if($return){
\Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::footprint);
$browserDb4Redis->tableDel('memberId:'.$memberId);
}
}
\Redis\Db1\MemberCenterRedisModel::getInstance()->tableHDel($memberId,\Our\NameConst::footprint);
}
}
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