双月卡活动

This commit is contained in:
wanyongkang
2020-11-02 15:44:07 +08:00
parent 04c2ae94f7
commit e1481d5f3c
14 changed files with 352 additions and 49 deletions

View File

@@ -33,9 +33,17 @@
<ul class="nav nav-tabs cpName" role="tablist">
@foreach (var item in Model)
{
@if(item.Product.Id == 5){
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
<a href="#@item.Product.Id" role="tab" data-toggle="tab">@item.Product.Name<span style="color: #f64e3d;font-weight:bold;">活动</span></a>
</li>
} else {
<li role="presentation" class="@(item.Product.Id==defaultProduct.Id?"active":"")">
<a href="#@item.Product.Id" role="tab" data-toggle="tab">@item.Product.Name</a>
</li>
}
}
</ul>
</div>
@@ -74,18 +82,49 @@
}
else
{
<a asp-action="buy" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p>@package.Name</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
@if(package.Id == 86){
<a asp-action="buy" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p style="font-size: 35px;color:#f64e3d;">@package.Name 送1月</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</div>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</a>
} else if(package.Id == 19) {
<a asp-action="buy" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p style="font-size: 35px;color:#f64e3d;">@package.Name 送10天</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</div>
</div>
</div>
</a>
</a>
} else {
<a asp-action="buy" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p>@package.Name</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</div>
</div>
</a>
}
}
}
</div>

View File

@@ -41,18 +41,46 @@
</ul>
@foreach (var package in Model.Packages.Where(m=>m.IsTest==0&&m.Status==1))
{
<a asp-action="rebuy" asp-controller="Product" asp-route-packageId="@package.Id" asp-route-accounts=@ViewBag.accounts>
<div class="card color_@((Model.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p>@package.Name</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
@if(package.Id == 86){
<a asp-action="rebuy" asp-controller="Product" asp-route-packageId="@package.Id" asp-route-accounts=@ViewBag.accounts>
<div class="card color_@((Model.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p style="font-size: 35px;color:#f64e3d;">@package.Name 送1月</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</div>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</a>
} else if(package.Id == 19){
<a asp-action="rebuy" asp-controller="Product" asp-route-packageId="@package.Id" asp-route-accounts=@ViewBag.accounts>
<div class="card color_@((Model.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p style="font-size: 35px;color:#f64e3d;">@package.Name 送10天</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</div>
</div>
</div>
</a>
</a>
} else {
<a asp-action="rebuy" asp-controller="Product" asp-route-packageId="@package.Id" asp-route-accounts=@ViewBag.accounts>
<div class="card color_@((Model.Packages.IndexOf(package)+1)%5)">
<div class="item">
<p>@package.Name</p>
<p>@(package.DayPrice)元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
</div>
</div>
</a>
}
}
</div>
</div>

View File

@@ -122,6 +122,64 @@
.mtop {
margin-top:30px;
}
.packageitem86{
position: relative;
}
.packageitem86::before {
position: absolute;
top: 0.3rem;
left: -0.5rem;
z-index: 1;
padding-right: 0.625rem;
font-weight: bold;
line-height: 0px;
color: white;
height: 0px;
border: 1.0rem solid #f64e3d;
border-right-color: transparent;
content: "免费送一个月";
box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000;
}
.packageitem86::after {
content: "";
position: absolute;
top: 2.1875rem;
left: -0.5rem;
border: 0.25rem solid #f64e3d;
border-left-color: transparent;
border-bottom-color: transparent;
}
.packageitem19{
position: relative;
}
.packageitem19::before {
position: absolute;
top: 0.3rem;
left: -0.5rem;
z-index: 1;
padding-right: 0.625rem;
font-weight: bold;
line-height: 0px;
color: white;
height: 0px;
border: 1.0rem solid #f64e3d;
border-right-color: transparent;
content: "免费送十天";
box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000;
}
.packageitem19::after {
content: "";
position: absolute;
top: 2.1875rem;
left: -0.5rem;
border: 0.25rem solid #f64e3d;
border-left-color: transparent;
border-bottom-color: transparent;
}
</style>
<!-- ad -->
<div class="container-fluid ad">
@@ -135,7 +193,11 @@
<div class="nav">
@foreach (var item in Model)
{
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id" a-pkg-id="@(item.Packages.FirstOrDefault(m=>m.Status==1).Id)">@item.Product.Name</div>
@if(item.Product.Id == 5){
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id" a-pkg-id="@(item.Packages.FirstOrDefault(m=>m.Status==1).Id)">@item.Product.Name <span style="color: #f64e3d;font-weight:bold;">活动</span></div>
} else {
<div class="productItem" id="@("p"+item.Product.Id)" a-pid="@item.Product.Id" a-pkg-id="@(item.Packages.FirstOrDefault(m=>m.Status==1).Id)">@item.Product.Name</div>
}
}
</div>
@@ -177,21 +239,54 @@
</div>
</div>
</div>
@if(item.Product.Id == 5){
<p class="youhuiNew">新开账号或续费1个月赠送10天2个月赠送1个月每个账号限参加一次活动截止时间2020年11月25日</p>
}
@*<p class="text-center nameSmall">—<span>@item.Product.Name</span>—</p>*@
<div class="card" style="margin-top:30px;">
@foreach (var package in item.Packages.Where(m => m.IsTest == 0 && m.Status == 1))
{
<div class="item packageitem" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if(package.Id == 86){
<div class="item packageitem packageitem86" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#f64e3d">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else if(package.Id == 19) {
<div class="item packageitem packageitem19" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#f64e3d">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else {
<div class="item packageitem" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
}
</div>
<div style="border: 1px dashed #ccc;margin-top:30px;width:90%;margin-left: 63px;">

View File

@@ -37,6 +37,64 @@
color: red;
font-weight: bold;
}
.packageitem86{
position: relative;
}
.packageitem86::before {
position: absolute;
top: 0.3rem;
left: -0.5rem;
z-index: 1;
padding-right: 0.625rem;
font-weight: bold;
line-height: 0px;
color: white;
height: 0px;
border: 1.0rem solid #f64e3d;
border-right-color: transparent;
content: "免费送一个月";
box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000;
}
.packageitem86::after {
content: "";
position: absolute;
top: 2.1875rem;
left: -0.5rem;
border: 0.25rem solid #f64e3d;
border-left-color: transparent;
border-bottom-color: transparent;
}
.packageitem19{
position: relative;
}
.packageitem19::before {
position: absolute;
top: 0.3rem;
left: -0.5rem;
z-index: 1;
padding-right: 0.625rem;
font-weight: bold;
line-height: 0px;
color: white;
height: 0px;
border: 1.0rem solid #f64e3d;
border-right-color: transparent;
content: "免费送十天";
box-shadow: 0px 0.3125rem 0.3125rem -0.3125rem #000;
}
.packageitem19::after {
content: "";
position: absolute;
top: 2.1875rem;
left: -0.5rem;
border: 0.25rem solid #f64e3d;
border-left-color: transparent;
border-bottom-color: transparent;
}
</style>
<!-- ad -->
<div class="container-fluid ad">
@@ -63,10 +121,54 @@
</div>
</div>
</div>
@if(defaultProduct.Id == 5){
<p class="youhuiNew">新开账号或续费1个月赠送10天2个月赠送1个月每个账号限参加一次活动截止时间2020年11月25日</p>
}
<div class="card">
@foreach (var package in Model.Packages.Where(m => m.IsTest == 0 && m.Status == 1))
{
<div class="item packageitem" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if(package.Id == 86){
<div class="item packageitem packageitem86" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#f64e3d">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else if(package.Id == 19) {
<div class="item packageitem packageitem19" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard" style="background-color:#f64e3d">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else {
<div class="item packageitem" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard">
<p class="tianka">@package.Name</p>
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
}
@* <div class="item packageitem" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia">原价:<span>@package.LinePrice</span>元</p>
@@ -76,7 +178,7 @@
<p class="qixian">@package.Profile</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
</div> *@
}
</div>
<div style="border: 1px dashed #ccc;margin-top:30px;width:90%;margin-left: 63px;">

View File

@@ -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>(){

View File

@@ -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>()

View File

@@ -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());

View File

@@ -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>(){

View File

@@ -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)

View File

@@ -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)

View File

@@ -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();
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;