From 06768702042499718271b516434f94f22e070e46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Cwanyongkang=E2=80=9D?= <“937888580@qq.com”>
Date: Mon, 11 Oct 2021 14:49:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=85=88=E9=94=8B=E8=B8=A2=E7=BA=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Host/Views/User/MyAccounts.cshtml | 11 ++-
.../Controllers/ProductAccountController.cs | 74 ++++++-------------
.../Request/Product/AccountPageRequest.cs | 1 +
.../Service/AgentClient5Service.cs | 16 +++-
4 files changed, 43 insertions(+), 59 deletions(-)
diff --git a/Host/Views/User/MyAccounts.cshtml b/Host/Views/User/MyAccounts.cshtml
index a08b517..7eb90f5 100644
--- a/Host/Views/User/MyAccounts.cshtml
+++ b/Host/Views/User/MyAccounts.cshtml
@@ -233,7 +233,8 @@
-

+

+
@@ -911,15 +912,17 @@
this.onLineData = [];
},
killout: function (item) {
+ $("#online_status").text("正在踢线......");
var that = this;
$.ajax({
type: 'GET',
url: '/api/course/v1/productaccount/KillOut?productId=' + item.ProductId + '&id=' + item.Id,
success: function (res) {
- alert("操作成功");
- this.onLineData = [];
if (res.Code == 10000) {
- that.online(item.ProductId, item.Account)
+ $("#online_status").text("断开成功!");
+ that.online(item.ProductId, item.Account);
+ } else {
+ $("#online_status").text("断开失败!");
}
}
});
diff --git a/Services/Hncore.Pass.Vpn/Controllers/ProductAccountController.cs b/Services/Hncore.Pass.Vpn/Controllers/ProductAccountController.cs
index c1e2706..efd4077 100644
--- a/Services/Hncore.Pass.Vpn/Controllers/ProductAccountController.cs
+++ b/Services/Hncore.Pass.Vpn/Controllers/ProductAccountController.cs
@@ -451,7 +451,12 @@ namespace Hncore.Pass.Vpn.Controllers
[AllowAnonymous]
public virtual async Task KillOut(int productId, string id)
{
- return Success(await m_agentService.KillOut(productId, id));
+ var status = await m_agentService.KillOut(productId, id);
+ if (status) {
+ return Success(status);
+ } else {
+ return Error("");
+ }
}
[HttpGet]
@@ -459,7 +464,7 @@ namespace Hncore.Pass.Vpn.Controllers
{
Expression> expr = m => 1 == 1;
-
+ expr = expr.And(m => m.DeleteTag == 0);
if (request.UserId > 0)
{
expr = expr.And(m => m.UserId == request.UserId);
@@ -471,13 +476,13 @@ namespace Hncore.Pass.Vpn.Controllers
|| m.PackageName.Contains(request.KeyWord)
|| m.Account.Contains(request.KeyWord));
}
- if (request.ProductIds != null && request.ProductIds.Count > 0)
+ if (request.ProductId != null && request.ProductId > 0)
{
- expr = expr.And(m =>request.ProductIds.Contains((int)m.ProductId));
+ expr = expr.And(m =>m.ProductId==request.ProductId);
}
- if (request.PackageNames != null && request.PackageNames.Count > 0)
+ if (request.PackageName != null)
{
- expr = expr.And(m =>request.PackageNames.Contains((string)m.PackageName));
+ expr = expr.And(m =>request.PackageName==m.PackageName);
}
if (request.AccountTypes!=null&&request.AccountTypes.Count>0)
{
@@ -491,58 +496,23 @@ namespace Hncore.Pass.Vpn.Controllers
{
expr = expr.And(m => m.StartTime>=request.BkTime&&m.StartTime<=request.EkTime);
}
- if (request.ExpirdDay > -1)
+ if (request.ExpirdDay > -100)
{
if (request.ExpirdDay == 0)
{
expr = expr.And(m => m.EndTime.Value < DateTime.Now);
- }
- else
- {
- var startTime = DateTime.Now.Begin().AddDays(request.ExpirdDay);
- startTime = startTime < DateTime.Now ? DateTime.Now : startTime;
- var EndTime = DateTime.Now.End().AddDays(request.ExpirdDay);
- expr = expr.And(m => m.EndTime >= startTime && m.EndTime <= EndTime);
- }
+ }else if(request.ExpirdDay == -2){
+ expr = expr.And(m => m.EndTime.Value > DateTime.Now);
+ } else if (request.ExpirdDay < 0 && request.ExpirdDay>-4) {
+ expr = expr.And(m => Math.Ceiling((DateTime.Now - m.EndTime).Value.TotalDays) <= Math.Abs(request.ExpirdDay) && m.EndTime < DateTime.Now);
+ } else if (request.ExpirdDay==-4) {
+ expr = expr.And(m => Math.Ceiling((m.EndTime - DateTime.Now).Value.TotalDays) <= -4);
+ }else if (request.ExpirdDay > 0){
+ expr = expr.And(m => Math.Ceiling((m.EndTime - DateTime.Now).Value.TotalDays) <= request.ExpirdDay && m.EndTime > DateTime.Now);
+ }
+ expr = expr.And(m => m.PackageName != "测试卡");
// expr = expr.And(m => Math.Ceiling((m.EndTime - DateTime.Now).Value.TotalDays) == request.ExpirdDay);
}
-
-
- // if (request.UserId > 0)
- // {
- // expr = expr.And(m => m.UserId == request.UserId);
- // }
- // if (request.KeyWord.Has())
- // {
- // expr = expr.And(m => m.Account.Contains(request.KeyWord));
- // }
- // if (request.ProductId.HasValue)
- // {
- // expr = expr.And(m => m.ProductId == request.ProductId);
- // }
- // if (request.PackageId.HasValue)
- // {
- // expr = expr.And(m => m.PackageId == request.PackageId);
- // }
- // if (request.AccountTypes != null && request.AccountTypes.Count > 0)
- // {
- // expr = expr.And(m => request.AccountTypes.Contains(m.AccountType));
- // }
- // if (request.ExpirdDay > -1)
- // {
- // if (request.ExpirdDay == 0)
- // {
- // expr = expr.And(m => m.EndTime.Value < DateTime.Now);
- // }
- // else
- // {
- // var startTime = DateTime.Now.Begin().AddDays(request.ExpirdDay);
- // startTime = startTime < DateTime.Now ? DateTime.Now : startTime;
- // var EndTime = DateTime.Now.End().AddDays(request.ExpirdDay);
- // expr = expr.And(m => m.EndTime >= startTime && m.EndTime <= EndTime);
- // }
- // // expr = expr.And(m => Math.Ceiling((m.EndTime - DateTime.Now).Value.TotalDays) == request.ExpirdDay);
- // }
var ret = await m_AccountService.PageDesc(request.PageIndex,10000, expr, true, m => m.Id);
var data = new ExcelData
diff --git a/Services/Hncore.Pass.Vpn/Request/Product/AccountPageRequest.cs b/Services/Hncore.Pass.Vpn/Request/Product/AccountPageRequest.cs
index b3956be..f94a2fd 100644
--- a/Services/Hncore.Pass.Vpn/Request/Product/AccountPageRequest.cs
+++ b/Services/Hncore.Pass.Vpn/Request/Product/AccountPageRequest.cs
@@ -15,6 +15,7 @@ namespace Hncore.Pass.Vpn.Request.Product
public int? ProductId { get; set; }
public int? PackageId { get; set; }
+ public string PackageName { get; set; }
public List AccountTypes { get; set; }
diff --git a/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs b/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs
index b00f3a3..3c7a9e4 100644
--- a/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs
+++ b/Services/Hncore.Pass.Vpn/Service/AgentClient5Service.cs
@@ -327,7 +327,7 @@ namespace Hncore.Pass.Vpn.Service
LoginIP = jsondata["client_ip"].ToString(),
UpStream = "",
DownStream = "",
- Id= "&user="+account+"&address="+jsondata["address"].ToString()+"&server_ip="+jsondata["server_ip"].ToString(),
+ Id = "user="+account+"-address="+jsondata["address"].ToString()+"-server_ip="+jsondata["server_ip"].ToString(),
};
@@ -348,11 +348,18 @@ namespace Hncore.Pass.Vpn.Service
///
public override async Task KillOut(string id)
{
-
+ var ids = "";
+ if(id.Contains("-")){
+ string[] arrStr = id.Split('-');
+ ids = arrStr[0]+"&"+arrStr[1]+"&"+arrStr[2];
+ }
+ Console.WriteLine("==============在线============================================================================");
+ Console.WriteLine(ids);
+ Console.WriteLine("==============在线============================================================================");
var secretId = "626B6170693231";
var secretKey = "6b3fdfc206841f44c6609bf19c182a6a";
- var url = "http://bkapi.pptp.biz/userapi3/?secretId="+secretId+"&secretKey="+secretKey+"&type=user_online_offline"+id;
+ var url = "http://bkapi.pptp.biz/userapi3/?secretId="+secretId+"&secretKey="+secretKey+"&type=user_online_offline&"+ids;
var client = CreateHttpClient();
@@ -360,6 +367,9 @@ namespace Hncore.Pass.Vpn.Service
var content = await resp.Content.ReadAsStringAsync();
JObject jo = (JObject)JsonConvert.DeserializeObject(content);
var status = jo["code"].ToString();
+ Console.WriteLine("==============在线============================================================================");
+ Console.WriteLine(jo);
+ Console.WriteLine("==============在线============================================================================");
if (status =="1")
{
return true;