先锋踢线

This commit is contained in:
“wanyongkang”
2021-10-11 14:49:15 +08:00
parent cab4c5086a
commit 0676870204
4 changed files with 43 additions and 59 deletions

View File

@@ -233,7 +233,8 @@
</div>
</div>
<div class="online" v-cloak v-if="showOnline">
<img src="~/img/close.png" class="btnOnlineClose" v-on:click="closeOnline()" />
<img src="~/img/close.png" class="btnOnlineClose" v-on:click="closeOnline()" />
<p style="color: #FF6666;font-size:20px;" id="online_status"></p>
<div class="tab-content" style="margin-top:40px;">
<table class="table table-striped table_person">
<tr>
@@ -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("断开失败!");
}
}
});

View File

@@ -451,7 +451,12 @@ namespace Hncore.Pass.Vpn.Controllers
[AllowAnonymous]
public virtual async Task<ApiResult> 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<Func<ProductAccountEntity, bool>> 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<ProductAccountEntity>

View File

@@ -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<int?> AccountTypes { get; set; }

View File

@@ -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
/// <returns></returns>
public override async Task<bool> 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;