先锋踢线
This commit is contained in:
@@ -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("断开失败!");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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; }
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user