Skip to content

Commit 95c9412

Browse files
committed
1.用户余额手动充值
2.加入一些国家icon 3.修正编辑商品导航栏BUG 4.更新readme
1 parent 56c5cf0 commit 95c9412

File tree

14 files changed

+203
-37
lines changed

14 files changed

+203
-37
lines changed

app/Http/Controllers/AdminController.php

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use App\Http\Models\SsNodeTrafficDaily;
2121
use App\Http\Models\SsNodeTrafficHourly;
2222
use App\Http\Models\User;
23+
use App\Http\Models\UserBalanceLog;
2324
use App\Http\Models\UserSubscribe;
2425
use App\Http\Models\UserSubscribeLog;
2526
use App\Http\Models\UserTrafficDaily;
@@ -143,8 +144,6 @@ public function addUser(Request $request)
143144
$qq = $request->get('qq');
144145
$usage = $request->get('usage');
145146
$pay_way = $request->get('pay_way');
146-
$balance = $request->get('balance');
147-
$score = $request->get('score');
148147
$enable_time = $request->get('enable_time');
149148
$expire_time = $request->get('expire_time');
150149
$remark = $request->get('remark');
@@ -183,8 +182,8 @@ public function addUser(Request $request)
183182
'qq' => $qq,
184183
'usage' => $usage,
185184
'pay_way' => $pay_way,
186-
'balance' => $balance,
187-
'score' => $score,
185+
'balance' => 0,
186+
'score' => 0,
188187
'enable_time' => empty($enable_time) ? date('Y-m-d') : $enable_time,
189188
'expire_time' => empty($expire_time) ? date('Y-m-d', strtotime("+365 days")) : $expire_time,
190189
'remark' => $remark,
@@ -237,8 +236,6 @@ public function editUser(Request $request)
237236
$qq = $request->get('qq');
238237
$usage = $request->get('usage');
239238
$pay_way = $request->get('pay_way');
240-
$balance = $request->get('balance');
241-
$score = $request->get('score');
242239
$status = $request->get('status');
243240
$enable_time = $request->get('enable_time');
244241
$expire_time = $request->get('expire_time');
@@ -251,7 +248,7 @@ public function editUser(Request $request)
251248
'port' => $port,
252249
'passwd' => $passwd,
253250
'transfer_enable' => $this->toGB($transfer_enable),
254-
'enable' => $enable,
251+
'enable' => $status < 0 ? 0 : $enable, // 如果禁止登陆则同时禁用SSR
255252
'method' => $method,
256253
'custom_method' => $method,
257254
'protocol' => $protocol,
@@ -265,8 +262,6 @@ public function editUser(Request $request)
265262
'qq' => $qq,
266263
'usage' => $usage,
267264
'pay_way' => $pay_way,
268-
'balance' => $balance,
269-
'score' => $score,
270265
'status' => $status,
271266
'enable_time' => empty($enable_time) ? date('Y-m-d') : $enable_time,
272267
'expire_time' => empty($expire_time) ? date('Y-m-d', strtotime("+365 days")) : $expire_time,
@@ -289,6 +284,7 @@ public function editUser(Request $request)
289284
$user = User::query()->where('id', $id)->first();
290285
if (!empty($user)) {
291286
$user->transfer_enable = $this->flowToGB($user->transfer_enable);
287+
$user->balance = $user->balance / 100;
292288
}
293289

294290
$view['user'] = $user;
@@ -1657,4 +1653,45 @@ public function resetUserTraffic(Request $request)
16571653

16581654
return Response::json(['status' => 'success', 'data' => '', 'message' => '操作成功']);
16591655
}
1656+
1657+
// 操作用户余额
1658+
public function handleUserBalance(Request $request)
1659+
{
1660+
if ($request->method() == 'POST') {
1661+
$user_id = $request->get('user_id');
1662+
$amount = $request->get('amount');
1663+
1664+
if (empty($user_id) || empty($amount)) {
1665+
return Response::json(['status' => 'fail', 'data' => '', 'message' => '充值异常']);
1666+
}
1667+
1668+
try {
1669+
$user = User::query()->where('id', $user_id)->first();
1670+
1671+
// 写入余额变动日志
1672+
$userBalanceLog = new UserBalanceLog();
1673+
$userBalanceLog->user_id = $user_id;
1674+
$userBalanceLog->order_id = 0;
1675+
$userBalanceLog->before = $user->balance;
1676+
$userBalanceLog->after = $user->balance + $amount * 100;
1677+
$userBalanceLog->amount = $amount * 100;
1678+
$userBalanceLog->desc = '后台手动充值';
1679+
$userBalanceLog->created_at = date('Y-m-d H:i:s');
1680+
$userBalanceLog->save();
1681+
1682+
// 加减余额
1683+
if ($amount < 0) {
1684+
$user->decrement('balance', abs($amount * 100));
1685+
} else {
1686+
$user->increment('balance', abs($amount * 100));
1687+
}
1688+
1689+
return Response::json(['status' => 'success', 'data' => '', 'message' => '充值成功']);
1690+
} catch (\Exception $e) {
1691+
return Response::json(['status' => 'fail', 'data' => '', 'message' => '充值失败:' . $e->getMessage()]);
1692+
}
1693+
} else {
1694+
return Response::view('admin/handleUserBalance');
1695+
}
1696+
}
16601697
}
1.83 KB
Loading
1.87 KB
Loading
2.09 KB
Loading
1.78 KB
Loading
2.16 KB
Loading
2.15 KB
Loading

readme.md

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ http://www.ssrpanel.com
5656
|Royal|¥25|
5757
|bingo|¥8|
5858
|Eason|¥10|
59-
|【要求匿名】|150|
59+
|【要求匿名】|270|
6060
|暮风|¥20|
6161
|huigeer|¥10|
6262
|真想悠哉|¥88|
@@ -67,6 +67,7 @@ http://www.ssrpanel.com
6767
|Sherl|¥48|
6868
|小孑、|¥20|
6969
|曾健|¥10|
70+
|Lojbk|¥10|
7071

7172

7273
这些捐赠的用途:
@@ -135,9 +136,36 @@ crontab -e
135136
* * * * * php /home/wwwroot/ssrpanel/artisan schedule:run >> /dev/null 2>&1
136137
````
137138

138-
#### 发送邮件配置
139+
## 邮件配置
140+
###### SMTP
139141
````
140-
config\mail.php 修改其中的配置
142+
编辑 config\mail.php
143+
144+
请自行配置如下内容
145+
'driver' => 'smtp',
146+
'host' => 'smtp.exmail.qq.com',
147+
'port' => 465,
148+
'from' => [
149+
'address' => 'xxx@qq.com',
150+
'name' => 'SSRPanel',
151+
],
152+
'encryption' => 'ssl',
153+
'username' => 'xxx@qq.com',
154+
'password' => 'xxxxxx',
155+
````
156+
157+
###### Mailgun
158+
````
159+
编辑 config\mail.php
160+
将 driver 值改为 mailgun
161+
162+
编辑 config/services.php
163+
164+
请自行配置如下内容
165+
'mailgun' => [
166+
'domain' => 'mailgun发件域名',
167+
'secret' => 'mailgun上申请到的secret',
168+
],
141169
````
142170

143171
## 日志分析(目前仅支持单机单节点)
@@ -244,6 +272,7 @@ vim user-config.json
244272
@orvice
245273
@ToyoDAdoubi
246274
@91yun
275+
@Akkariiin
247276
````
248277

249278
## 说明

resources/views/admin/addUser.blade.php

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,6 @@
106106
</select>
107107
</div>
108108
</div>
109-
<div class="form-group">
110-
<label for="balance" class="col-md-3 control-label">余额</label>
111-
<div class="col-md-8">
112-
<input type="text" class="form-control" name="balance" value="0" id="balance" placeholder="" required>
113-
</div>
114-
</div>
115-
<div class="form-group">
116-
<label for="score" class="col-md-3 control-label">积分</label>
117-
<div class="col-md-8">
118-
<input type="text" class="form-control" name="score" value="0" id="score" placeholder="" required>
119-
</div>
120-
</div>
121109
<div class="form-group">
122110
<label class="col-md-3 control-label">有效期</label>
123111
<div class="col-md-8">
@@ -327,8 +315,6 @@ function do_submit() {
327315
var password = $('#password').val();
328316
var usage = $("input:radio[name='usage']:checked").val();
329317
var pay_way = $("input:radio[name='pay_way']:checked").val();
330-
var balance = $('#balance').val();
331-
var score = $('#score').val();
332318
var enable_time = $('#enable_time').val();
333319
var expire_time = $('#expire_time').val();
334320
var gender = $('#gender').val();
@@ -354,7 +340,7 @@ function do_submit() {
354340
type: "POST",
355341
url: "{{url('admin/addUser')}}",
356342
async: false,
357-
data: {_token:_token, username: username, password:password, usage:usage, pay_way:pay_way, balance:balance, score:score, enable_time:enable_time, expire_time:expire_time, gender:gender, wechat:wechat, qq:qq, is_admin:is_admin, remark:remark, level:level, port:port, passwd:passwd, method:method, custom_method:custom_method, transfer_enable:transfer_enable, enable:enable, protocol:protocol, protocol_param:protocol_param, obfs:obfs, obfs_param:obfs_param, speed_limit_per_con:speed_limit_per_con, speed_limit_per_user:speed_limit_per_user},
343+
data: {_token:_token, username: username, password:password, usage:usage, pay_way:pay_way, enable_time:enable_time, expire_time:expire_time, gender:gender, wechat:wechat, qq:qq, is_admin:is_admin, remark:remark, level:level, port:port, passwd:passwd, method:method, custom_method:custom_method, transfer_enable:transfer_enable, enable:enable, protocol:protocol, protocol_param:protocol_param, obfs:obfs, obfs_param:obfs_param, speed_limit_per_con:speed_limit_per_con, speed_limit_per_user:speed_limit_per_user},
358344
dataType: 'json',
359345
success: function (ret) {
360346
layer.msg(ret.message, {time:1000}, function() {

resources/views/admin/editUser.blade.php

Lines changed: 85 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,28 @@
109109
</div>
110110
<div class="form-group">
111111
<label for="balance" class="col-md-3 control-label">余额</label>
112-
<div class="col-md-8">
113-
<input type="text" class="form-control" name="balance" value="{{$user->balance}}" id="balance" placeholder="" required>
112+
<div class="col-md-5">
113+
<p class="form-control-static"> {{$user->balance}} </p>
114+
</div>
115+
<div class="col-md-3">
116+
<div style="float:right;">
117+
<button type="button" class="btn btn-sm btn-danger" data-toggle="modal" data-target="#handle_user_balance">充值</button>
118+
</div>
114119
</div>
115120
</div>
121+
<!--
116122
<div class="form-group">
117123
<label for="score" class="col-md-3 control-label">积分</label>
118-
<div class="col-md-8">
119-
<input type="text" class="form-control" name="score" value="{{$user->score}}" id="score" placeholder="" required>
124+
<div class="col-md-5">
125+
<p class="form-control-static"> {{$user->score}} </p>
126+
</div>
127+
<div class="col-md-3">
128+
<div style="float:right;">
129+
<button type="button" class="btn btn-sm btn-danger">操作</button>
130+
</div>
120131
</div>
121132
</div>
133+
-->
122134
<div class="form-group">
123135
<label class="col-md-3 control-label">有效期</label>
124136
<div class="col-md-8">
@@ -307,6 +319,37 @@
307319
<!-- END FORM-->
308320
</div>
309321
</div>
322+
323+
<!-- 余额充值 -->
324+
<div id="handle_user_balance" class="modal fade" tabindex="-1" data-focus-on="input:first" data-backdrop="static" data-keyboard="false">
325+
<div class="modal-dialog" style="width:300px;">
326+
<div class="modal-content">
327+
<div class="modal-header">
328+
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
329+
<h4 class="modal-title">充值</h4>
330+
</div>
331+
<div class="modal-body">
332+
<div class="alert alert-danger" style="display: none;" id="msg"></div>
333+
<!-- BEGIN FORM-->
334+
<form action="#" method="post" class="form-horizontal">
335+
<div class="form-body">
336+
<div class="form-group">
337+
<label for="amount" class="col-md-4 control-label"> 充值金额 </label>
338+
<div class="col-md-8">
339+
<input type="text" class="form-control" name="amount" id="amount" placeholder="填入负值则会扣余额" onkeydown="if(event.keyCode==13){return false;}">
340+
</div>
341+
</div>
342+
</div>
343+
</form>
344+
<!-- END FORM-->
345+
</div>
346+
<div class="modal-footer">
347+
<button type="button" data-dismiss="modal" class="btn dark btn-outline">关闭</button>
348+
<button type="button" class="btn red btn-outline" onclick="return handleUserBalance();">充值</button>
349+
</div>
350+
</div>
351+
</div>
352+
</div>
310353
</div>
311354
<!-- END PAGE BASE CONTENT -->
312355
</div>
@@ -384,5 +427,43 @@ function makePasswd() {
384427
$("#passwd").val(ret);
385428
});
386429
}
430+
431+
// 余额充值
432+
function handleUserBalance() {
433+
var amount = $("#amount").val();
434+
var reg = /^(\-?)\d+(\.\d+)?$/; //只可以是正负数字
435+
436+
if (amount == '' || amount == 0 || !reg.test(amount)) {
437+
$("#msg").show().html("请输入充值金额");
438+
$("#name").focus();
439+
return false;
440+
}
441+
442+
$.ajax({
443+
url:'{{url('admin/handleUserBalance')}}',
444+
type:"POST",
445+
data:{_token:'{{csrf_token()}}', user_id:'{{Request::get('id')}}', amount:amount},
446+
beforeSend:function(){
447+
$("#msg").show().html("充值中...");
448+
},
449+
success:function(ret){
450+
if (ret.status == 'fail') {
451+
$("#msg").show().html(ret.message);
452+
return false;
453+
} else {
454+
layer.msg(ret.message, {time:1000}, function() {
455+
if (ret.status == 'success') {
456+
$("#handle_user_balance").modal("hide");
457+
window.location.reload();
458+
}
459+
});
460+
}
461+
},
462+
error:function(){
463+
$("#msg").show().html("请求错误,请重试");
464+
},
465+
complete:function(){}
466+
});
467+
}
387468
</script>
388469
@endsection

0 commit comments

Comments
 (0)