diff --git a/app/Plugins/User/resources/views/Admin/Users/management/edit/options.blade.php b/app/Plugins/User/resources/views/Admin/Users/management/edit/options.blade.php
index ccab5ec80..a0b735818 100644
--- a/app/Plugins/User/resources/views/Admin/Users/management/edit/options.blade.php
+++ b/app/Plugins/User/resources/views/Admin/Users/management/edit/options.blade.php
@@ -23,13 +23,13 @@
-
+
-
+
diff --git a/app/Plugins/User/src/Controller/ExChangeApiController.php b/app/Plugins/User/src/Controller/ExChangeApiController.php
index 6cb24df93..d3cc9d87e 100644
--- a/app/Plugins/User/src/Controller/ExChangeApiController.php
+++ b/app/Plugins/User/src/Controller/ExChangeApiController.php
@@ -1,6 +1,6 @@
input('data');
$captcha = request()->input('captcha');
- if (!$data || !$captcha) {
+ if (! $data || ! $captcha) {
return Json_Api(403, false, ['msg' => '请求参数不足']);
}
- if (!captcha()->check($captcha)) {
+ if (! captcha()->check($captcha)) {
return Json_Api(403, false, ['msg' => '验证码错误']);
}
$data = de_stringify(request()->input('data'));
- if (!Arr::has($data, 'moneyTo_golds_num')) {
+ if (! Arr::has($data, 'moneyTo_golds_num')) {
return Json_Api(403, false, ['msg' => '请求参数不足']);
}
// 兑换的金币数量
$moneyTo_golds_num = $data['moneyTo_golds_num'];
- if (!is_numeric($moneyTo_golds_num) || $moneyTo_golds_num <= 0) {
+ if (! is_numeric($moneyTo_golds_num) || $moneyTo_golds_num <= 0) {
return Json_Api(403, false, ['msg' => '请求参数格式有误']);
}
+ $moneyTo_golds_num = (float) $moneyTo_golds_num;
$user = User::query()->with('Options')->find(auth()->id());
// 最多能兑换的金币数量
- $dc = \Hyperf\Stringable\Str::after($user->Options->money, '.');
+ $dc = \Hyperf\Stringable\Str::after((string) $user->Options->money, '.');
$dc = \Hyperf\Stringable\Str::length($dc);
- $max = intval($user->Options->money * get_options('wealth_how_many_money_to_golds', '1'));
+ $max = floatval($user->Options->money * get_options('wealth_how_many_money_to_golds', '1'));
if ($moneyTo_golds_num > $max) {
return Json_Api(403, false, ['msg' => '超出最大兑换限制']);
}
// 不能花的钱
- $_money = round($user->Options->money - intval($user->Options->money * get_options('wealth_how_many_money_to_golds', '1')) / get_options('wealth_how_many_money_to_golds', '1'), $dc);
+ $_money = round($user->Options->money - floatval($user->Options->money * get_options('wealth_how_many_money_to_golds', '1')) / get_options('wealth_how_many_money_to_golds', '1'), $dc);
// 找钱
$give_change = (string) ($max - $moneyTo_golds_num) / get_options('wealth_how_many_money_to_golds', '1') + $_money;
// 扣费
@@ -61,42 +64,46 @@ public function moneyTo_golds() : array
$options_id = auth()->data()->options_id;
$option = UsersOption::query()->find($options_id);
PayAmountRecord::query()->create(['original' => $option->money, 'cash' => round($option->money - $deduction, $dc), 'user_id' => auth()->id(), 'remark' => '兑换' . get_options('wealth_golds_name', '金币')]);
- UsersOption::query()->where('id', $options_id)->update(['money' => round($option->money - $deduction, $dc), 'golds' => intval($option->golds + $moneyTo_golds_num)]);
+ $option->setMoneyAttribute(round($option->money - $deduction, $dc));
+ $option->setGoldsAttribute(floatval($option->golds + $moneyTo_golds_num));
+ $option->save();
return Json_Api(201, true, ['msg' => '兑换成功!']);
}
+
// 金币转积分
+
#[PostMapping('goldsTo_credit')]
- public function goldsTo_credit() : array
+ public function goldsTo_credit(): array
{
$data = request()->input('data');
$captcha = request()->input('captcha');
- if (!$data || !$captcha) {
+ if (! $data || ! $captcha) {
return Json_Api(403, false, ['msg' => '请求参数不足']);
}
- if (!captcha()->check($captcha)) {
+ if (! captcha()->check($captcha)) {
return Json_Api(403, false, ['msg' => '验证码错误']);
}
$data = de_stringify(request()->input('data'));
- if (!Arr::has($data, 'goldsTo_credit_num')) {
+ if (! Arr::has($data, 'goldsTo_credit_num')) {
return Json_Api(403, false, ['msg' => '请求参数不足']);
}
// 兑换的金币数量
$goldsTo_credit_num = $data['goldsTo_credit_num'];
- if (!is_numeric($goldsTo_credit_num) || $goldsTo_credit_num <= 0) {
+ if (! is_numeric($goldsTo_credit_num) || $goldsTo_credit_num <= 0) {
return Json_Api(403, false, ['msg' => '请求参数格式有误']);
}
$user = User::query()->with('Options')->find(auth()->id());
// 兑换比例
$proportion = get_options('wealth_how_many_golds_to_credit', 10);
// 最多能兑换的金币数量
- $max = intval($user->Options->golds * $proportion);
- $dc = \Hyperf\Stringable\Str::after($user->Options->golds, '.');
+ $max = floatval($user->Options->golds * $proportion);
+ $dc = \Hyperf\Stringable\Str::after((string) $user->Options->golds, '.');
$dc = \Hyperf\Stringable\Str::length($dc);
if ($goldsTo_credit_num > $max) {
return Json_Api(403, false, ['msg' => '超出最大兑换限制']);
}
// 不能花的钱
- $_money = round($user->Options->golds - intval($user->Options->golds * $proportion) / $proportion, $dc);
+ $_money = round($user->Options->golds - floatval($user->Options->golds * $proportion) / $proportion, $dc);
// 找钱
$give_change = (string) ($max - $goldsTo_credit_num) / $proportion + $_money;
// 扣费
@@ -105,42 +112,46 @@ public function goldsTo_credit() : array
$options_id = auth()->data()->options_id;
$option = UsersOption::query()->find($options_id);
PayAmountRecord::query()->create(['original' => '【' . get_options('wealth_golds_name', '金币') . '】' . $option->golds, 'cash' => '【' . get_options('wealth_golds_name', '金币') . '】' . round($option->golds - $deduction, $dc), 'user_id' => auth()->id(), 'remark' => '兑换' . get_options('wealth_credit_name', '积分')]);
- UsersOption::query()->where('id', $options_id)->update(['golds' => round($option->golds - $deduction, $dc), 'credits' => intval($option->credits + $goldsTo_credit_num)]);
+ $option->setGoldsAttribute(round($option->golds - $deduction, $dc));
+ $option->setCreditsAttribute(floatval($option->credits + $goldsTo_credit_num));
+ $option->save();
return Json_Api(201, true, ['msg' => '兑换成功!']);
}
+
// 余额转积分
+
#[PostMapping('moneyTo_credit')]
- public function moneyTo_credit() : array
+ public function moneyTo_credit(): array
{
$data = request()->input('data');
$captcha = request()->input('captcha');
- if (!$data || !$captcha) {
+ if (! $data || ! $captcha) {
return Json_Api(403, false, ['msg' => '请求参数不足']);
}
- if (!captcha()->check($captcha)) {
+ if (! captcha()->check($captcha)) {
return Json_Api(403, false, ['msg' => '验证码错误']);
}
$data = de_stringify(request()->input('data'));
- if (!Arr::has($data, 'moneyTo_credit_num')) {
+ if (! Arr::has($data, 'moneyTo_credit_num')) {
return Json_Api(403, false, ['msg' => '请求参数不足']);
}
// 兑换的金币数量
$moneyTo_credit_num = $data['moneyTo_credit_num'];
- if (!is_numeric($moneyTo_credit_num) || $moneyTo_credit_num <= 0) {
+ if (! is_numeric($moneyTo_credit_num) || $moneyTo_credit_num <= 0) {
return Json_Api(403, false, ['msg' => '请求参数格式有误']);
}
$user = User::query()->with('Options')->find(auth()->id());
// 兑换比例
$proportion = get_options('wealth_how_many_money_to_credit', get_options('wealth_how_many_money_to_golds', '1') * get_options('wealth_how_many_golds_to_credit', 10));
// 最多能兑换的金币数量
- $max = intval($user->Options->money * $proportion);
- $dc = \Hyperf\Stringable\Str::after($user->Options->money, '.');
+ $max = floatval($user->Options->money * $proportion);
+ $dc = \Hyperf\Stringable\Str::after((string) $user->Options->money, '.');
$dc = \Hyperf\Stringable\Str::length($dc);
if ($moneyTo_credit_num > $max) {
return Json_Api(403, false, ['msg' => '超出最大兑换限制']);
}
// 不能花的钱
- $_money = round($user->Options->money - intval($user->Options->money * $proportion) / $proportion, $dc);
+ $_money = round($user->Options->money - floatval($user->Options->money * $proportion) / $proportion, $dc);
// 找钱
$give_change = (string) ($max - $moneyTo_credit_num) / $proportion + $_money;
// 扣费
@@ -149,7 +160,9 @@ public function moneyTo_credit() : array
$options_id = auth()->data()->options_id;
$option = UsersOption::query()->find($options_id);
PayAmountRecord::query()->create(['original' => $option->money, 'cash' => round($option->money - $deduction, $dc), 'user_id' => auth()->id(), 'remark' => '兑换' . get_options('wealth_credit_name', '积分')]);
- UsersOption::query()->where('id', $options_id)->update(['money' => round($option->money - $deduction, $dc), 'credits' => intval($option->credits + $moneyTo_credit_num)]);
+ $option->setMoneyAttribute(round($option->money - $deduction, $dc));
+ $option->setCreditsAttribute(floatval($option->credits + $moneyTo_credit_num));
+ $option->save();
return Json_Api(201, true, ['msg' => '兑换成功!']);
}
-}
\ No newline at end of file
+}