Fix Vnet edit new user Logic & 重置流量 余额操作日志错误

This commit is contained in:
兔姬桑
2020-10-30 08:02:51 +08:00
parent 0882203dc6
commit ddeee8e9c2
2 changed files with 25 additions and 2 deletions

View File

@@ -245,7 +245,7 @@ class UserController extends Controller
(new UserService($user))->updateCredit(-$renewCost);
// 记录余额操作日志
Helpers::addUserCreditLog($user->id, '', $user->credit, $user->credit - $renewCost, -1 * $renewCost, '用户自行重置流量');
Helpers::addUserCreditLog($user->id, 0, $user->credit, $user->credit - $renewCost, -1 * $renewCost, '用户自行重置流量');
return Response::json(['status' => 'success', 'message' => '重置成功']);
}

View File

@@ -38,10 +38,33 @@ class editUser implements ShouldQueue
public function handle(): void
{
foreach ($this->nodes as $node) {
$this->send(($node->server ?: $node->ip).':'.$node->push_port, $node->auth->secret);
$host = ($node->server ?: $node->ip).':'.$node->push_port;
$secret = $node->auth->secret;
// 如果用户已存在节点内,则执行修改;否者为添加
$list = $this->list($host, $secret);
if ($list && in_array($this->data['uid'], $list)) {
$this->send($host, $secret);
} else {
addUser::dispatchNow($this->data['uid'], $node);
}
}
}
private function list($host, $secret)
{
$request = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);
$response = $request->get('api/user/list');
$message = $response->json();
if ($message && $response->ok()) {
return Arr::pluck($message, 'uid');
}
Log::warning('【用户列表】获取失败(推送地址:'.$host.'');
return false;
}
private function send($host, $secret): void
{
$request = Http::baseUrl($host)->timeout(15)->withHeaders(['secret' => $secret]);