调整账号合并
This commit is contained in:
parent
6b759c4be4
commit
03f99316bf
@ -48,6 +48,7 @@ use app\common\model\user\User as UserModel;
|
|||||||
use app\common\model\user\UserAddress;
|
use app\common\model\user\UserAddress;
|
||||||
use app\common\model\user\UserRecharge;
|
use app\common\model\user\UserRecharge;
|
||||||
use think\db\Query;
|
use think\db\Query;
|
||||||
|
use think\facade\Cache;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
||||||
class User extends BaseController
|
class User extends BaseController
|
||||||
@ -617,26 +618,33 @@ class User extends BaseController
|
|||||||
*/
|
*/
|
||||||
public function merge(UserRepository $repository)
|
public function merge(UserRepository $repository)
|
||||||
{
|
{
|
||||||
$user = $this->request->userInfo();
|
$data = $this->request->params(['phone', 'sms_code', 'spread', 'pwd', 'auth_token', ['user_type', 'h5']]);
|
||||||
$data = $this->request->params(['phone', 'sms_code'] );
|
|
||||||
if ($user['account'] == $data['phone']) {
|
|
||||||
return app('json')->fail('绑定的账号不能相同');
|
|
||||||
}
|
|
||||||
if (!empty($user['account'])) {
|
|
||||||
return app('json')->fail('已绑定手机号');
|
|
||||||
}
|
|
||||||
$sms_code = app()->make(SmsService::class)->checkSmsCode($data['phone'], $data['sms_code'], 'login');
|
$sms_code = app()->make(SmsService::class)->checkSmsCode($data['phone'], $data['sms_code'], 'login');
|
||||||
if (!$sms_code && !env('APP_DEBUG')) {
|
if (!$sms_code && !env('APP_DEBUG')) {
|
||||||
return app('json')->fail('验证码不正确');
|
return app('json')->fail('验证码不正确');
|
||||||
}
|
}
|
||||||
|
$auth = Cache::get('u_try' . $data['auth_token']);
|
||||||
|
// $auth && Cache::delete('u_try' . $data['auth_token']);
|
||||||
|
$user = $repository->wechatUserIdBytUser($auth['id']);
|
||||||
|
if (!empty($user['account'])) {
|
||||||
|
return app('json')->fail('已绑定手机号');
|
||||||
|
}
|
||||||
$targetUser = $repository->accountByUser($data['phone']);
|
$targetUser = $repository->accountByUser($data['phone']);
|
||||||
if (empty($targetUser)) {
|
if (!empty($user) && empty($targetUser)) {
|
||||||
$user->account = $data['phone'];
|
$user->account = $data['phone'];
|
||||||
$user->phone = $data['phone'];
|
$user->phone = $data['phone'];
|
||||||
$user->save();
|
$user->save();
|
||||||
$tokenInfo = $repository->createToken($user);
|
$tokenInfo = $repository->createToken($user);
|
||||||
return app('json')->success($repository->returnToken($user, $tokenInfo));
|
return app('json')->success($repository->returnToken($user, $tokenInfo));
|
||||||
} else {
|
}
|
||||||
|
if (empty($targetUser) && empty($user)) {
|
||||||
|
$targetUser = $repository->registr($data['phone'], $data['pwd'], $data['user_type']);
|
||||||
|
}
|
||||||
|
if ($auth) {
|
||||||
|
$repository->syncBaseAuth($auth, $targetUser);
|
||||||
|
}
|
||||||
|
$targetUser = $repository->mainUser($targetUser);
|
||||||
|
$repository->bindSpread($targetUser, intval($data['spread']));
|
||||||
Db::startTrans();
|
Db::startTrans();
|
||||||
try {
|
try {
|
||||||
StoreGroupOrder::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
|
StoreGroupOrder::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
|
||||||
@ -651,6 +659,7 @@ class User extends BaseController
|
|||||||
UserRecharge::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
|
UserRecharge::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
|
||||||
StoreOrderStatus::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
|
StoreOrderStatus::where('uid', $user['uid'])->update(['uid' => $targetUser['uid']]);
|
||||||
if ($user->now_money > 0) {
|
if ($user->now_money > 0) {
|
||||||
|
$user->now_money = 0;
|
||||||
$targetUser->now_money = bcadd($targetUser->now_money, $user->now_money, 2);
|
$targetUser->now_money = bcadd($targetUser->now_money, $user->now_money, 2);
|
||||||
$targetUser->save();
|
$targetUser->save();
|
||||||
}
|
}
|
||||||
@ -687,8 +696,9 @@ class User extends BaseController
|
|||||||
$merchant->purchase_amount = bcadd($merchant->purchase_amount, $purchaseAmount, 2);
|
$merchant->purchase_amount = bcadd($merchant->purchase_amount, $purchaseAmount, 2);
|
||||||
$merchant->save();
|
$merchant->save();
|
||||||
}
|
}
|
||||||
$user->account = $data['phone'];
|
}
|
||||||
$user->phone = $data['phone'];
|
if (!empty($user)) {
|
||||||
|
$user->wechat_user_id = 0;
|
||||||
$user->save();
|
$user->save();
|
||||||
}
|
}
|
||||||
Db::commit();
|
Db::commit();
|
||||||
@ -698,6 +708,5 @@ class User extends BaseController
|
|||||||
$tokenInfo = $repository->createToken($targetUser);
|
$tokenInfo = $repository->createToken($targetUser);
|
||||||
return app('json')->success($repository->returnToken($targetUser, $tokenInfo));
|
return app('json')->success($repository->returnToken($targetUser, $tokenInfo));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user