Commit 1ccfa313 authored by wwccw0591's avatar wwccw0591

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

parents a2c920f5 d53046ca
...@@ -33,6 +33,11 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -33,6 +33,11 @@ class UserController extends \Our\Controller_AbstractIndex {
$password=$data[NameConst::password]; $password=$data[NameConst::password];
if($this->memberService->checkUserNamePassWord($mobile,$password)){ if($this->memberService->checkUserNamePassWord($mobile,$password)){
$member= $this->memberService->getOneByMobileAndPassword($mobile,$password); $member= $this->memberService->getOneByMobileAndPassword($mobile,$password);
//第二步保存扫码会员信息
$result = $this->memberService->saveStoreMembers($member['member_id']);
if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saveStoreMemberFailed);
}
/** /**
* 合并第三方授权信息 * 合并第三方授权信息
*/ */
...@@ -132,6 +137,11 @@ class UserController extends \Our\Controller_AbstractIndex { ...@@ -132,6 +137,11 @@ class UserController extends \Our\Controller_AbstractIndex {
if(!empty($userToken['token'])){ if(!empty($userToken['token'])){
$this->updateOldLoginKey($userToken['token']); $this->updateOldLoginKey($userToken['token']);
} }
//第二步保存扫码会员信息
$result = $this->memberService->saveStoreMembers($member['member_id']);
if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::saveStoreMemberFailed);
}
$this->memberService->clearKey($this->key); $this->memberService->clearKey($this->key);
$this->key=Common::bulidToken('', '', '', \Our\ApiConst::wechatDeviceType); $this->key=Common::bulidToken('', '', '', \Our\ApiConst::wechatDeviceType);
session_id($this->key); session_id($this->key);
......
...@@ -80,13 +80,14 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -80,13 +80,14 @@ class MemberServiceModel extends \Business\AbstractModel
} }
private function getRealPassword($password,$timeSpan){ private function getRealPassword($password,$timeSpan){
$addKey=Common::getConfig('password.key'); $addKey=Common::getConfig('password.key');
$md5Str=$timeSpan.$addKey.$password; $md5Str = $timeSpan.$password.$addKey;
return $md5Str; return $md5Str;
} }
public function getOneByMobileAndPassword($mobile, $password) public function getOneByMobileAndPassword($mobile, $password)
{ {
// $password=$this->getPassAddKey($password); // $password=$this->getPassAddKey($password);
// $password = Common::format('md5({0})'); // $password = Common::format('md5({0})');
$member= $this->memberDao->getOneByMobileAndPassword($mobile, $password); $member= $this->memberDao->getOneByMobileAndPassword($mobile, $password);
return $member ? $member : false; return $member ? $member : false;
} }
...@@ -275,8 +276,9 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -275,8 +276,9 @@ class MemberServiceModel extends \Business\AbstractModel
private function saveRegisterMemberInfo($where){ private function saveRegisterMemberInfo($where){
$memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName); $memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$addKey=Common::getConfig('password.key'); $addKey=Common::getConfig('password.key');
$memberTime = TIMESTAMP;
if(!empty($addKey)){ if(!empty($addKey)){
$md5Str=TIMESTAMP.$addKey.$where['password']; $md5Str=$memberTime.$addKey.$where['password'];
}else{ }else{
$md5Str=$where['password']; $md5Str=$where['password'];
} }
...@@ -286,7 +288,7 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -286,7 +288,7 @@ class MemberServiceModel extends \Business\AbstractModel
$member['member_mobile'] = $where['mobile']; $member['member_mobile'] = $where['mobile'];
$member['member_mobile_bind'] = \Our\ApiConst::one; $member['member_mobile_bind'] = \Our\ApiConst::one;
$member['member_passwd'] = md5($md5Str); $member['member_passwd'] = md5($md5Str);
$member['member_time'] = TIMESTAMP; $member['member_time'] = $memberTime;
$result = $memberDao->addInfo($member); $result = $memberDao->addInfo($member);
return $result; return $result;
} }
...@@ -305,7 +307,7 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -305,7 +307,7 @@ class MemberServiceModel extends \Business\AbstractModel
* @param $memberId * @param $memberId
* @return bool * @return bool
*/ */
private function saveStoreMembers($memberId){ public function saveStoreMembers($memberId){
$sess=\Yaf\Session::getInstance(); $sess=\Yaf\Session::getInstance();
$scan_store_ids = $sess->get('scan_store_ids');//扫码带入的店铺ID $scan_store_ids = $sess->get('scan_store_ids');//扫码带入的店铺ID
if($scan_store_ids){ if($scan_store_ids){
...@@ -591,9 +593,15 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -591,9 +593,15 @@ class MemberServiceModel extends \Business\AbstractModel
if($existMember['memberMobile']&&$existMember['memberMobileBind']){ if($existMember['memberMobile']&&$existMember['memberMobileBind']){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::registerMemberInfoFailed); \Error\ErrorModel::throwException(\Error\CodeConfigModel::registerMemberInfoFailed);
} }
$memberTime= $memberDao->getInfo($memberMapping['member_id'],'member_time');
if(!$memberTime){
$memberTime = TIMESTAMP;
}
$passwordStr = $this->getRealPassword($where['password'],$memberTime);
$member['member_mobile'] = $where['mobile']; $member['member_mobile'] = $where['mobile'];
$member['member_mobile_bind'] = \Our\ApiConst::one; $member['member_mobile_bind'] = \Our\ApiConst::one;
$member['member_passwd'] = md5($where['password']); $member['member_passwd'] = md5($passwordStr);
$member['member_time'] = $memberTime;
$updateMemberResult = $memberDao->saveInfo($member,$memberMapping['member_id']); $updateMemberResult = $memberDao->saveInfo($member,$memberMapping['member_id']);
if(!$updateMemberResult){ if(!$updateMemberResult){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::authMemberExistMobile); \Error\ErrorModel::throwException(\Error\CodeConfigModel::authMemberExistMobile);
...@@ -683,7 +691,13 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -683,7 +691,13 @@ class MemberServiceModel extends \Business\AbstractModel
} }
$memberDao = \DAO\MemberModel::getInstance(); $memberDao = \DAO\MemberModel::getInstance();
$memberDao->checkPassword($data); $memberDao->checkPassword($data);
$result = $memberDao->updateInfo(array('member_passwd'=>md5($data['password'])),array('member_mobile'=>$passwordMobile)); $memberTimeArray = $memberDao->getOneByWhereWithField(array('member_mobile'=>$passwordMobile),'member_time');
$memberTime = TIMESTAMP;
if($memberTimeArray&&$memberTimeArray['member_time']){
$memberTime = $memberTimeArray['member_time'];
}
$passwordStr = $this->getRealPassword($data['password'],$memberTime);
$result = $memberDao->updateInfo(array('member_passwd'=> md5($passwordStr),'member_time'=>$memberTime),array('member_mobile'=>$passwordMobile));
if($result===false){ if($result===false){
return false; return false;
} }
...@@ -700,8 +714,12 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -700,8 +714,12 @@ class MemberServiceModel extends \Business\AbstractModel
$data['messageType'] = \Our\ApiConst::messageTypeValidNewMobile; $data['messageType'] = \Our\ApiConst::messageTypeValidNewMobile;
$shortMessageDao->validCode($data); $shortMessageDao->validCode($data);
$memberTime = $memberDao->getInfo($memberId,'member_time');
$result = $memberDao->updateInfo(array('member_passwd'=>md5($data['password']),'member_mobile'=>$data['mobile'],'member_mobile_bind'=>\Our\ApiConst::one),array('member_id'=>$memberId)); if(!$memberTime){
$memberTime = TIMESTAMP;
}
$passwordStr = $this->getRealPassword($data['password'],$memberTime);
$result = $memberDao->updateInfo(array('member_passwd'=>md5($passwordStr),'member_mobile'=>$data['mobile'],'member_time'=>$memberTime,'member_mobile_bind'=>\Our\ApiConst::one),array('member_id'=>$memberId));
if(!$result){ if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::changeMobileFailed); \Error\ErrorModel::throwException(\Error\CodeConfigModel::changeMobileFailed);
} }
...@@ -721,7 +739,13 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -721,7 +739,13 @@ class MemberServiceModel extends \Business\AbstractModel
public function changePassword($where,$memberId){ public function changePassword($where,$memberId){
$memberDao = \DAO\MemberModel::getInstance(); $memberDao = \DAO\MemberModel::getInstance();
$memberDao->checkOldPassword($where,$memberId); $memberDao->checkOldPassword($where,$memberId);
$result = $memberDao->updateInfo(array('member_passwd'=>md5($where['password'])),array('member_id'=>$memberId)); $memberTime = TIMESTAMP;
$memberTimeStr = $memberDao->getInfo($memberId,'member_time');
if(!$memberTimeStr){
$memberTime = $memberTimeStr;
}
$passwordStr = $this->getRealPassword($where['password'],$memberTime);
$result = $memberDao->updateInfo(array('member_passwd'=>md5($passwordStr),'member_time'=>$memberTime),array('member_id'=>$memberId));
if($result){ if($result){
$this->logOut($where['key']); $this->logOut($where['key']);
return true; return true;
...@@ -888,7 +912,13 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -888,7 +912,13 @@ class MemberServiceModel extends \Business\AbstractModel
$data['messageType'] = \Our\ApiConst::messageTypeWxLietBindMobile; $data['messageType'] = \Our\ApiConst::messageTypeWxLietBindMobile;
$shortMessageDao->validCode($data); $shortMessageDao->validCode($data);
$updateMember = array('member_passwd'=>md5($data['password']),'member_mobile'=>$data['mobile'],'member_mobile_bind'=>\Our\ApiConst::one); $memberTime = TIMESTAMP;
$memberTimeStr = $memberDao->getInfo($memberId,'member_time');
if(!$memberTimeStr){
$memberTime = $memberTimeStr;
}
$passwordStr = $this->getRealPassword($data['password'],$memberTime);
$updateMember = array('member_passwd'=>md5($passwordStr),'member_mobile'=>$data['mobile'],'member_mobile_bind'=>\Our\ApiConst::one,'member_time'=>$memberTime);
$result = $memberDao->updateInfo($updateMember,array('member_id'=>$memberId)); $result = $memberDao->updateInfo($updateMember,array('member_id'=>$memberId));
if(!$result){ if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wxMemberBindMobileFailed); \Error\ErrorModel::throwException(\Error\CodeConfigModel::wxMemberBindMobileFailed);
...@@ -920,11 +950,18 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -920,11 +950,18 @@ class MemberServiceModel extends \Business\AbstractModel
//验证短信验证码 //验证短信验证码
$shortMessageDao = \DAO\ShortMessageModel::getInstance(); $shortMessageDao = \DAO\ShortMessageModel::getInstance();
$memberTime = TIMESTAMP;
$memberTimeStr = $memberDao->getInfo($memberId,'member_time');
if(!$memberTimeStr){
$memberTime = $memberTimeStr;
}
$passwordStr = $this->getRealPassword($data['password'],$memberTime);
$data['messageType'] = \Our\ApiConst::messageTypeWxLietBindMobile; $data['messageType'] = \Our\ApiConst::messageTypeWxLietBindMobile;
$shortMessageDao->validCode($data); $shortMessageDao->validCode($data);
if($mobileMember){ if($mobileMember){
$memberDao->db->doTransaction(); $memberDao->db->doTransaction();
$updateMobileMember['member_passwd'] = md5($data['password']); $updateMobileMember['member_passwd'] = md5($passwordStr);
$updateMobileMember['member_time'] = $memberTime;
$resultMember = $memberDao->updateInfo($updateMobileMember,array('member_id'=>$mobileMember['member_id'])); $resultMember = $memberDao->updateInfo($updateMobileMember,array('member_id'=>$mobileMember['member_id']));
if($resultMember===false){ if($resultMember===false){
$memberDao->db->doRollback(); $memberDao->db->doRollback();
...@@ -942,7 +979,15 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -942,7 +979,15 @@ class MemberServiceModel extends \Business\AbstractModel
$memberDao->db->doCommit(); $memberDao->db->doCommit();
$sess['member_id'] = $mobileMember['member_id']; $sess['member_id'] = $mobileMember['member_id'];
}else{ }else{
$updateMember = array('member_passwd'=>md5($data['password']),'member_mobile'=>$data['mobile'],'member_mobile_bind'=>\Our\ApiConst::one);
$memberTime = TIMESTAMP;
$memberTimeStr = $memberDao->getInfo($memberId,'member_time');
if(!$memberTimeStr){
$memberTime = $memberTimeStr;
}
$passwordStr = $this->getRealPassword($data['password'],$memberTime);
$data['messageType'] = \Our\ApiConst::messageTypeWxLietBindMobile;
$updateMember = array('member_passwd'=>md5($passwordStr),'member_mobile'=>$data['mobile'],'member_mobile_bind'=>\Our\ApiConst::one,'member_time'=>$memberTime);
$result = $memberDao->updateInfo($updateMember,array('member_id'=>$memberId)); $result = $memberDao->updateInfo($updateMember,array('member_id'=>$memberId));
if(!$result){ if(!$result){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::wxMemberBindMobileFailed); \Error\ErrorModel::throwException(\Error\CodeConfigModel::wxMemberBindMobileFailed);
...@@ -955,6 +1000,7 @@ class MemberServiceModel extends \Business\AbstractModel ...@@ -955,6 +1000,7 @@ class MemberServiceModel extends \Business\AbstractModel
return true; return true;
} }
public function growMembers(){ public function growMembers(){
$memberDao=\DAO\MemberModel::getInstance(); $memberDao=\DAO\MemberModel::getInstance();
$res =$memberDao->getAll(); $res =$memberDao->getAll();
......
...@@ -124,7 +124,7 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -124,7 +124,7 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$insertAllSql .= $addSql; $insertAllSql .= $addSql;
if ($i % 1000 == 0 && $i != 0) { if ($i % 1000 == 0 && $i != 0) {
$insertAllSql = rtrim($insertAllSql, ','); $insertAllSql = rtrim($insertAllSql, ',');
$insertAllSql .= 'ON DUPLICATE KEY UPDATE fav_time=VALUES (fav_time)'; $insertAllSql .= 'ON DUPLICATE KEY UPDATE fav_time=VALUES (fav_time),fav_from = VALUES (fav_from)';
$one = $this->db->insert($this->_tableName)->query($insertAllSql); $one = $this->db->insert($this->_tableName)->query($insertAllSql);
if (!$one) { if (!$one) {
$error++; $error++;
...@@ -134,7 +134,7 @@ class FavoritesStoreModel extends \DAO\AbstractModel { ...@@ -134,7 +134,7 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
} }
if ($insertAllSql != $baseSql) { if ($insertAllSql != $baseSql) {
$insertAllSql = rtrim($insertAllSql, ','); $insertAllSql = rtrim($insertAllSql, ',');
$insertAllSql .= 'ON DUPLICATE KEY UPDATE fav_time=VALUES (fav_time)'; $insertAllSql .= 'ON DUPLICATE KEY UPDATE fav_time=VALUES (fav_time),fav_from = VALUES (fav_from)';
$one = $this->db->insert($this->_tableName)->query($insertAllSql); $one = $this->db->insert($this->_tableName)->query($insertAllSql);
if (!$one) { if (!$one) {
......
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