双月卡活动
This commit is contained in:
@@ -187,7 +187,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount)
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount, int payCount = 1)
|
||||
{
|
||||
var client = CreateHttpClient();
|
||||
var map = new Dictionary<string, string>(){
|
||||
|
||||
@@ -236,7 +236,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey,string account, int connCount)
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey,string account, int connCount, int payCount = 1)
|
||||
{
|
||||
var client = CreateHttpClient();
|
||||
Dictionary<string, int> priceMap = new Dictionary<string, int>()
|
||||
|
||||
@@ -102,6 +102,12 @@ namespace Hncore.Pass.Vpn.Service
|
||||
return await NewTestAccount(account, pwd);
|
||||
}
|
||||
var client = CreateHttpClient();
|
||||
//user: ceshiyiha
|
||||
// passwd: ceshiyiha
|
||||
// conn_max: 1
|
||||
// type: m
|
||||
// paynum: 2
|
||||
// details: ce
|
||||
var map = new Dictionary<string, string>(){
|
||||
{"user",account },
|
||||
{"passwd",pwd },
|
||||
@@ -215,13 +221,13 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount)
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount, int payCount = 1)
|
||||
{
|
||||
var client = CreateHttpClient();
|
||||
var map = new Dictionary<string, string>(){
|
||||
{"user",account },
|
||||
{"type",packageKey },
|
||||
{"paynum","1"},
|
||||
{"paynum",payCount.ToString()},
|
||||
};
|
||||
var title = GetOpTitle("NewReAccount", account);
|
||||
LogHelper.Info(title, map.ToJson());
|
||||
|
||||
@@ -192,7 +192,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount)
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount, int payCount = 1)
|
||||
{
|
||||
var client = CreateHttpClient();
|
||||
var map = new Dictionary<string, string>(){
|
||||
|
||||
@@ -296,7 +296,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount)
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string account, int connCount, int payCount = 1)
|
||||
{
|
||||
var ret = await this.GetAccountInfo(account);
|
||||
if (ret.Code != ResultCode.C_SUCCESS|| ret.Data==null)
|
||||
|
||||
@@ -224,7 +224,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account">原始的账号的id</param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string id, int connCount)
|
||||
public override async Task<ApiResult> NewReAccount(string packageKey, string id, int connCount, int payCount = 1)
|
||||
{
|
||||
var ret = await this.GetAccountInfo(id);
|
||||
if (ret.Code != ResultCode.C_SUCCESS|| ret.Data==null)
|
||||
|
||||
@@ -145,7 +145,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<ApiResult> NewReAccount(string packageKey,string account,int connCount)
|
||||
public virtual async Task<ApiResult> NewReAccount(string packageKey,string account,int connCount, int payCount = 1)
|
||||
{
|
||||
return new ApiResult();
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<ApiResult> NewAccount(int orderId, int packageId, string account, string pwd, int connCount = 1, int accountType = 1)
|
||||
public virtual async Task<ApiResult> NewAccount(int orderId, int packageId, string account, string pwd, int connCount = 1, int accountType = 1,int payCount = 1)
|
||||
{
|
||||
ApiResult flagResult = new ApiResult(ResultCode.C_SUCCESS);
|
||||
var package = await m_ProductPackageService.GetById(packageId);
|
||||
@@ -190,7 +190,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
|
||||
if (package.PackageType == PackageType.Base)
|
||||
{
|
||||
var ret = await agent.NewAccount(package.OriginKey, account, pwd, connCount, accountType);
|
||||
var ret = await agent.NewAccount(package.OriginKey, account, pwd, connCount, accountType,payCount);
|
||||
//var ret = new ApiResult(ResultCode.C_INVALID_ERROR);
|
||||
var status = ret.Code == ResultCode.C_SUCCESS ? ChargeStatus.Ok : ChargeStatus.Faild;
|
||||
await m_AccountChargeService.RecordNew(package, orderId, product.GroupNO, account, pwd, accountType, connCount, status);
|
||||
@@ -206,7 +206,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
firstPackage.Count--;
|
||||
basePackages.Insert(0, firstPackage);
|
||||
}
|
||||
var ret = await agent.NewAccount(firstPackage.Package.OriginKey, account, pwd, connCount, accountType);
|
||||
var ret = await agent.NewAccount(firstPackage.Package.OriginKey, account, pwd, connCount, accountType,payCount);
|
||||
//var ret = new ApiResult(ResultCode.C_INVALID_ERROR);
|
||||
var status = ret.Code == ResultCode.C_SUCCESS ? ChargeStatus.Ok : ChargeStatus.Faild;
|
||||
await m_AccountChargeService.RecordNew(firstPackage.Package, orderId, product.GroupNO, account, pwd, accountType, connCount, status);
|
||||
@@ -238,7 +238,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
/// <param name="account"></param>
|
||||
/// <param name="pwd"></param>
|
||||
/// <returns></returns>
|
||||
public virtual async Task<ApiResult> ReNewAccount(int orderId, int packageId, string account, int connCount)
|
||||
public virtual async Task<ApiResult> ReNewAccount(int orderId, int packageId, string account, int connCount,int payCount = 1)
|
||||
{
|
||||
var package = await m_ProductPackageService.GetById(packageId);
|
||||
var product = await m_ProductService.GetById(package.ProductId);
|
||||
@@ -253,7 +253,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
ApiResult flagResult = new ApiResult(ResultCode.C_SUCCESS);
|
||||
if (package.PackageType == PackageType.Base)
|
||||
{
|
||||
var ret = await agent.NewReAccount(package.OriginKey, account, connCount);
|
||||
var ret = await agent.NewReAccount(package.OriginKey, account, connCount,payCount);
|
||||
// var ret = new ApiResult(ResultCode.C_INVALID_ERROR);
|
||||
var status = ret.Code == ResultCode.C_SUCCESS ? ChargeStatus.Ok : ChargeStatus.Faild;
|
||||
await m_AccountChargeService.RecordReNew(package, orderId, product.GroupNO, account, connCount, status);
|
||||
@@ -266,7 +266,7 @@ namespace Hncore.Pass.Vpn.Service
|
||||
{
|
||||
for (var j = 0; j < basePackage.Count; j++)
|
||||
{
|
||||
var ret = await agent.NewReAccount(basePackage.Package.OriginKey, account, connCount);
|
||||
var ret = await agent.NewReAccount(basePackage.Package.OriginKey, account, connCount,payCount);
|
||||
//var ret = new ApiResult(ResultCode.C_INVALID_ERROR);
|
||||
var status = ret.Code == ResultCode.C_SUCCESS ? ChargeStatus.Ok : ChargeStatus.Faild;
|
||||
await m_AccountChargeService.RecordReNew(basePackage.Package, orderId, product.GroupNO, account, connCount, status);
|
||||
|
||||
@@ -51,6 +51,17 @@ namespace Hncore.Pass.Vpn.Service
|
||||
|
||||
return false;
|
||||
}
|
||||
//检查参加活动账号是否已经存在
|
||||
public async Task<bool> CheckMonthAccountExist(string account)
|
||||
{
|
||||
var flag = this.Exist(m => m.Account == account && m.PackageId == 86);
|
||||
if (flag)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
public bool CheckUserAccountExist(int product, List<string> accouts, int userId)
|
||||
{
|
||||
return this.Exist(m => accouts.Contains(m.Account) && m.UserId == userId);
|
||||
|
||||
@@ -250,6 +250,10 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
|
||||
{
|
||||
order.OrderAmount = price * request.ConnectCount;
|
||||
order.Accounts = request.Account;
|
||||
var isExit = await m_ProductAccountService.CheckMonthAccountExist(request.Account);
|
||||
if(isExit){
|
||||
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, request.Account + "此IP账号已享受该优惠套餐,无法再次购买,若要购买此优惠套餐,请新开或续费其他账号。");
|
||||
}
|
||||
}
|
||||
|
||||
if (request.OrderType == OrderType.News)
|
||||
@@ -267,6 +271,13 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
|
||||
order.OrderAmount = price * request.ConnectCount * count;
|
||||
order.Accounts = request.Account;
|
||||
}
|
||||
foreach (var account in order.Accounts.Split(",").ToList())
|
||||
{
|
||||
var isExit = await m_ProductAccountService.CheckMonthAccountExist(account);
|
||||
if(isExit){
|
||||
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, account + "此IP账号已享受该优惠套餐,无法再次购买,若要购买此优惠套餐,请新开或续费其他账号。");
|
||||
}
|
||||
}
|
||||
|
||||
await CheckRequest(order);
|
||||
|
||||
@@ -518,7 +529,13 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
|
||||
var accountError = "";
|
||||
await accountEntitys.ForEachAsync(async accountEntity =>
|
||||
{
|
||||
var ret = await m_AgentService.NewAccount(order.Id, accountEntity.PackageId.Value, accountEntity.Account, accountEntity.Pwd, accountEntity.ConnectCount);
|
||||
var ret = new ApiResult();
|
||||
if(accountEntity.PackageId.Value == 86){
|
||||
ret = await m_AgentService.NewAccount(order.Id, accountEntity.PackageId.Value, accountEntity.Account, accountEntity.Pwd, accountEntity.ConnectCount,1,2);
|
||||
} else {
|
||||
ret = await m_AgentService.NewAccount(order.Id, accountEntity.PackageId.Value, accountEntity.Account, accountEntity.Pwd, accountEntity.ConnectCount);
|
||||
}
|
||||
|
||||
if (ret.Code != ResultCode.C_SUCCESS)
|
||||
{
|
||||
accountEntity.ChargeStatus = AccountChargeStatus.Exception;
|
||||
@@ -588,7 +605,12 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
|
||||
{
|
||||
var account = accountEntity.Account;
|
||||
if (product.GroupNO == "g7") account = accountEntity.Raw;
|
||||
var ret = await m_AgentService.ReNewAccount(order.Id, order.PackageId, account, order.ConnectCount);
|
||||
var ret = new ApiResult();
|
||||
if (order.PackageId == 86){
|
||||
ret = await m_AgentService.ReNewAccount(order.Id, order.PackageId, account, order.ConnectCount,2);
|
||||
} else {
|
||||
ret = await m_AgentService.ReNewAccount(order.Id, order.PackageId, account, order.ConnectCount);
|
||||
}
|
||||
if (ret.Code != ResultCode.C_SUCCESS)
|
||||
{
|
||||
accountEntity.ChargeStatus = AccountChargeStatus.Exception;
|
||||
|
||||
Reference in New Issue
Block a user