|
|
@@ -18,6 +18,7 @@ use App\Models\MemberModel;
|
|
|
use App\Services\BaseService;
|
|
|
use App\Services\RedisService;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
+use Illuminate\Support\Facades\Log;
|
|
|
|
|
|
/**
|
|
|
* 商家店铺管理-服务类
|
|
|
@@ -254,6 +255,7 @@ class StoreService extends BaseService
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 审核通过
|
|
|
if ($status == 1) {
|
|
|
// 使用事务确保数据一致性
|
|
|
@@ -265,12 +267,15 @@ class StoreService extends BaseService
|
|
|
// 使用商家手机号作为管理账号用户名
|
|
|
$username = $this->generateUsername($info);
|
|
|
|
|
|
- // 创建管理账户
|
|
|
- $adminUserId = 0;
|
|
|
- if ($info->user_id > 0) {
|
|
|
- // 如果商家已关联用户,更新用户信息
|
|
|
- $adminUserId = $info->user_id;
|
|
|
- UserModel::where('id', $info->user_id)->update([
|
|
|
+ // 检查是否已存在相同手机号的管理员账号
|
|
|
+ $existingUser = UserModel::where('mobile', $info->phone)
|
|
|
+ ->where('mark', 1)
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if ($existingUser) {
|
|
|
+ // 如果存在相同手机号的账号,更新该账号
|
|
|
+ $adminUserId = $existingUser->id;
|
|
|
+ UserModel::where('id', $adminUserId)->update([
|
|
|
'username' => $username,
|
|
|
'password' => get_password($password . $username),
|
|
|
'realname' => $info->real_name,
|
|
|
@@ -284,6 +289,7 @@ class StoreService extends BaseService
|
|
|
$userData = [
|
|
|
'user_id' => $info->user_id, // 绑定商户用户ID(member表的ID)
|
|
|
'username' => $username,
|
|
|
+ 'nickname' => $username,
|
|
|
'password' => get_password($password . $username),
|
|
|
'realname' => $info->real_name,
|
|
|
'mobile' => $info->phone,
|
|
|
@@ -296,11 +302,11 @@ class StoreService extends BaseService
|
|
|
];
|
|
|
|
|
|
$adminUserId = UserModel::insertGetId($userData);
|
|
|
-
|
|
|
- // 更新商家表的user_id字段
|
|
|
- $info->user_id = $adminUserId;
|
|
|
}
|
|
|
|
|
|
+ // 更新商家表的user_id字段
|
|
|
+ $info->user_id = $adminUserId;
|
|
|
+
|
|
|
// 删除已存在的用户角色关系
|
|
|
DB::table('user_role')->where('user_id', $adminUserId)->delete();
|
|
|
|
|
|
@@ -326,7 +332,13 @@ class StoreService extends BaseService
|
|
|
return true;
|
|
|
} catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
|
- $this->error = '审核失败:' . $e->getMessage();
|
|
|
+ Log::error('商家审核失败,创建管理员账号出错:' . $e->getMessage(), [
|
|
|
+ 'store_id' => $id,
|
|
|
+ 'store_name' => $info->name,
|
|
|
+ 'phone' => $info->phone,
|
|
|
+ 'exception' => $e->getTraceAsString()
|
|
|
+ ]);
|
|
|
+ $this->error = '审核失败,创建管理员账号失败:' . $e->getMessage();
|
|
|
return false;
|
|
|
}
|
|
|
}
|