|
@@ -1124,6 +1124,7 @@ class User extends Api
|
|
|
*/
|
|
|
public function bindmobile()
|
|
|
{
|
|
|
+ Db::startTrans();
|
|
|
try {
|
|
|
$user = model('User')->find($this->auth->id);
|
|
|
$mobile = $this->request->param('mobile');
|
|
@@ -1150,7 +1151,7 @@ class User extends Api
|
|
|
if (empty($userData['openid'])) {
|
|
|
model('User')->update(['openid'=>$user['openid']],$where);//老用户更新openid
|
|
|
} else {
|
|
|
- $this->error('该手机号已被其他用户绑定');
|
|
|
+ throw new Exception('该手机号已被其他用户绑定');
|
|
|
}
|
|
|
}
|
|
|
//清除微信登录没绑定手机号的数据
|
|
@@ -1163,8 +1164,26 @@ class User extends Api
|
|
|
|
|
|
Sms::flush($mobile, 'changemobile');
|
|
|
$this->auth->direct($userData['id']);
|
|
|
+ //更新token
|
|
|
+ $userTokenWhere['user_id'] = $userDel['id'];
|
|
|
+ $userToken = Db::name('user_token')->where($userTokenWhere)->find();
|
|
|
+ if (!empty($userToken)) {
|
|
|
+ $userOldTokenWhere['user_id'] = $userData['id'];
|
|
|
+ $userOldTOken = Db::name('user_token')->where($userOldTokenWhere)->find();
|
|
|
+ if (!empty($userOldTOken)) {
|
|
|
+ $userOldTOkenRes = Db::name('user_token')->where($userOldTokenWhere)->update(['token'=>$userToken['token']]);
|
|
|
+ if ($userOldTOkenRes) {
|
|
|
+ $userTokenDelRes = Db::name('user_token')->where($userTokenWhere)->delete();
|
|
|
+ if (!$userTokenDelRes) {
|
|
|
+ throw new Exception('绑定失败');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Db::commit();
|
|
|
$this->success('success',$this->userInfo('return'));
|
|
|
} catch (Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
$this->error($e->getMessage());
|
|
|
}
|
|
|
}
|