|
@@ -58,17 +58,26 @@ class MemberOpenServer
|
|
|
$mainId=$this->getMainUserId($type,$openid,$unionid);
|
|
$mainId=$this->getMainUserId($type,$openid,$unionid);
|
|
|
// 同步进行注册
|
|
// 同步进行注册
|
|
|
$row=MemberServer::creatServer()->register('','','','',$mainId);
|
|
$row=MemberServer::creatServer()->register('','','','',$mainId);
|
|
|
- MemberOpenServer::creatServer()->setUserOpenid($row['m_id'],4,$openid,$unionid);
|
|
|
|
|
|
|
+ MemberOpenServer::creatServer()->setUserOpenid($row['m_id'],$row['main_id'],4,$openid,$unionid);
|
|
|
}
|
|
}
|
|
|
return empty($row['m_id'])?'':$row['m_id'];
|
|
return empty($row['m_id'])?'':$row['m_id'];
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function getMainUserId($type,$openid,$unionid=null){
|
|
function getMainUserId($type,$openid,$unionid=null){
|
|
|
- $row = MainMemberOpenId::where('openid',$openid)->where('type',$type)->where('is_del',0)->first();
|
|
|
|
|
- if(empty($row) && !empty($unionid)){
|
|
|
|
|
- $row=MainMemberOpenId::where('unionid',$unionid)->where('type',$type)->where('openid','<>','')->where('is_del',0)->first();
|
|
|
|
|
|
|
+ $row = MainMemberOpenId::where('openid',$openid)->where('type',$type)->first();
|
|
|
|
|
+ if(!empty($unionid)){
|
|
|
|
|
+ $row=MainMemberOpenId::where('unopenid',$unionid)->where('openid','<>','')->first();
|
|
|
if($row){
|
|
if($row){
|
|
|
- $row->update(['openid' => $openid]);
|
|
|
|
|
|
|
+ if($row->{'type'}==$type){
|
|
|
|
|
+ $row->update(['openid' => $openid]);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $row= MainMemberOpenId::create([
|
|
|
|
|
+ 'openid' => $openid,
|
|
|
|
|
+ 'type' => $type,
|
|
|
|
|
+ 'unopenid' => $unionid,
|
|
|
|
|
+ 'm_id' => $row['m_id'],
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return empty($row['m_id'])?'':$row['m_id'];
|
|
return empty($row['m_id'])?'':$row['m_id'];
|
|
@@ -78,12 +87,16 @@ class MemberOpenServer
|
|
|
/**
|
|
/**
|
|
|
* 用户注册openid
|
|
* 用户注册openid
|
|
|
* @param $userId
|
|
* @param $userId
|
|
|
|
|
+ * @param $mainId
|
|
|
* @param $openid
|
|
* @param $openid
|
|
|
* @param $unionid
|
|
* @param $unionid
|
|
|
* @param $type
|
|
* @param $type
|
|
|
* @return bool
|
|
* @return bool
|
|
|
*/
|
|
*/
|
|
|
- function setUserOpenid($userId,$type,$openid,$unionid=null){
|
|
|
|
|
|
|
+ function setUserOpenid($userId,$mainId,$type,$openid,$unionid=null){
|
|
|
|
|
+ if(empty($mainId)){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
$row = MemberOpenId::where('m_id',$userId)->where('type',$type)->where('is_del',0)->first();
|
|
$row = MemberOpenId::where('m_id',$userId)->where('type',$type)->where('is_del',0)->first();
|
|
|
if($row){
|
|
if($row){
|
|
|
$row->update(['openid' =>$openid,'unionid' => $unionid ]);
|
|
$row->update(['openid' =>$openid,'unionid' => $unionid ]);
|
|
@@ -96,21 +109,21 @@ class MemberOpenServer
|
|
|
'type' => $type
|
|
'type' => $type
|
|
|
]);
|
|
]);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ $this->setMainUserOpenid($mainId,$type,$openid,$unionid);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
- function setMainUserOpenid($userId,$type,$openid,$unionid=null){
|
|
|
|
|
- $row = MemberOpenId::where('m_id',$userId)->where('type',$type)->where('is_del',0)->first();
|
|
|
|
|
|
|
+ function setMainUserOpenid($mainId,$type,$openid,$unionid=null){
|
|
|
|
|
+ $row = MainMemberOpenId::where('m_id',$mainId)->where('type',$type)->first();
|
|
|
if($row){
|
|
if($row){
|
|
|
- $row->update(['openid' =>$openid,'unionid' => $unionid ]);
|
|
|
|
|
|
|
+ $row->update(['openid' =>$openid,'unopenid' => $unionid ]);
|
|
|
}else{
|
|
}else{
|
|
|
- MemberOpenId::create([
|
|
|
|
|
|
|
+ MainMemberOpenId::create([
|
|
|
'is_del' => 0,
|
|
'is_del' => 0,
|
|
|
- 'm_id' => $userId,
|
|
|
|
|
|
|
+ 'm_id' => $mainId,
|
|
|
'openid' => $openid,
|
|
'openid' => $openid,
|
|
|
- 'unionid' => $unionid,
|
|
|
|
|
|
|
+ 'unopenid' => $unionid,
|
|
|
'type' => $type
|
|
'type' => $type
|
|
|
]);
|
|
]);
|
|
|
}
|
|
}
|