测试卡超免费1元

This commit is contained in:
“wanyongkang”
2023-07-16 14:01:53 +08:00
parent f530a094b7
commit f22ef6578f
6 changed files with 145 additions and 186 deletions

View File

@@ -81,7 +81,7 @@ namespace Home.Controllers
public async Task<IActionResult> Index()
{
var respList = await m_ProductService.ProductWithPackage(1);
var userInfo = this.Request.GetUserInfo();
if (userInfo != null)
{
@@ -90,6 +90,13 @@ namespace Home.Controllers
var user_Info = await m_UserService.GetById(userInfo.UserId);
var ProductAccountCount = user_Info.ProductAccountCount;
//判断测试卡使用次数是否超过限定次数 false表示免费没用完 true表示免费测试已经用完
var test_flag = false;
if ((user_Info.TestCountLimit!=0 && user_Info.TestCountLimit<=user_Info.UseTestCount) || (user_Info.TestCountLimit ==0 && user_Info.UseTestCount>2)) {
test_flag = true;
}
if((user_Info.agent_id == 0||(user_Info.agent_id != 0 && user_Info.discount_id != 0)) && user_Info.discount_id >= 0){
//根据折扣设置价格
@@ -97,6 +104,7 @@ namespace Home.Controllers
var dis_price = 1000000.0M;
foreach(var product in respList)
{
product.Product.Content = "0";
product.Packages.ForEach(m => {
if (discount != null)
@@ -115,7 +123,17 @@ namespace Home.Controllers
// if (ProductAccountCount == 0 && (m.DayCount == 1||m.DayCount == 2) && m.Id != 1034&&m.Id != 1040&&m.Id != 1079&&m.Id != 1073){
// m.Price = 0.1M;
// }
//判断测试卡是否收费
if (test_flag && (m.IsTest == 1)) {
m.Price = 1.0M;
m.IsTest =0;
}
});
//判断测试卡是否收费
if (test_flag) {
product.Product.Content = "1";
}
}
} else {
//根据会员价
@@ -123,6 +141,7 @@ namespace Home.Controllers
foreach(var product in respList)
{
product.Product.Content = "0";
product.Packages.ForEach(m => {
m.Title = "0";
@@ -134,12 +153,23 @@ namespace Home.Controllers
// if (ProductAccountCount == 0 && (m.DayCount == 1||m.DayCount == 2) && m.Id != 1034&&m.Id != 1040&&m.Id != 1079&&m.Id != 1073){
// m.Price = 0.1M;
// }
//判断测试卡是否收费
if (test_flag && (m.IsTest == 1)) {
m.Price = 1.0M;
m.IsTest =0;
}
});
//判断测试卡是否收费
if (test_flag) {
product.Product.Content = "1";
}
}
}
} else {
foreach(var product in respList)
{
product.Product.Content = "0";
product.Packages.ForEach(m => {
m.Title = "0";

View File

@@ -402,130 +402,6 @@
</div>
</a>
}
else if (package.Id==1034||package.Id==1040)
{
<a asp-action="test" id="@("package-"+package.Id)" 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>
</div>
<div class="item">
<p>¥<span>0.00</span></p>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
}
else if(package.Id == 88||package.Id == 101||package.Id == 103||package.Id == 104||(package.Id>103 && package.Id<1000)||package.Id==1019){
<a asp-action="buy" id="@("package-"+package.Id)" 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:#FFFF00;">@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>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
}
else if(package.Id==1020){
<a asp-action="buy" id="@("package-"+package.Id)" 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:#FFFF00;">@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>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</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:#FFFF00;">@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>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
} *@
@* else if(package.Id == 63||package.Id == 64||package.Id == 65||package.Id == 66||package.Id == 67||package.Id == 13||package.Id == 14||package.Id == 15||package.Id == 16) {
<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:#FFFF00;">@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>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
} *@
@* else if(package.Id == 71||package.Id == 102||package.Id == 100) {
<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:#FFFF00;">@package.Name 送7天</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
} *@
else if(package.Id == 1||package.Id == 1002||package.Id == 4||package.Id == 7||package.Id == 12||package.Id == 17||package.Id == 22||package.Id == 27||package.Id == 32||package.Id == 37||package.Id == 42||package.Id == 62||package.Id == 69||package.Id == 73||package.Id == 80) {
<a asp-action="buy" id="@("package-"+package.Id)" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">
<div class="item">
@if(package.Title != ""){
<p style="font-size: 35px;color:#FFFF00;">@package.Name @package.Title 折</p>
} else {
<p style="font-size: 35px;color:#FFFF00;">@package.Name 9 折</p>
}
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<p>@package.Profile</p>
</div>
<div class="item">
<p>¥<span>@package.Price</span></p>
<p style="color: #FF9900;text-decoration: line-through">原价:@package.LinePrice 元</p>
</div>
</div>
</a>
}
else {
<a asp-action="buy" id="@("package-"+package.Id)" asp-controller="product" asp-route-id="@package.Id">
<div class="card color_@((item.Packages.IndexOf(package)+1)%5)">

View File

@@ -97,7 +97,11 @@
@if(Model.Package.Price < 60 && (Model.Package.Id == 64||Model.Package.Id == 1004)){
<span class="price">60.00</span>
} else {
<span class="price">@Model.Package.Price</span>
@if (Model.Package.IsTest == 0) {
<span class="price">@Model.Package.Price</span>
} else {
<span class="price">1.0</span>
}
}
</div>
</div>
@@ -116,18 +120,20 @@
</div>
</div>
</div>
<div class="row mytab">
<div class="col-sm-6 col-xs-6 text-right">
<span class="dan zActive">单个注册</span>
@if (Model.Package.IsTest == 0) {
<div class="row mytab">
<div class="col-sm-6 col-xs-6 text-right">
<span class="dan zActive">单个注册</span>
</div>
<div v-if="OnePayAmount != 0.1" class="col-sm-6 col-xs-6 text-left">
<span class="pi">批量注册</span>
</div>
</div>
<div v-if="OnePayAmount != 0.1" class="col-sm-6 col-xs-6 text-left">
<span class="pi">批量注册</span>
</div>
</div>
}
<div class="conDan">
<div class="row">
<div class="col-sm-5 col-xs-5">
IP账号前缀
IP账号
</div>
<div class="col-sm-7 col-xs-7 shuru">
<input type="text" v-model="OneBuyModel.Account" />
@@ -141,39 +147,42 @@
<input type="text" v-model="OneBuyModel.Pwd" v-on:blur="checkOnePwd" />
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
连接数:
</div>
<div v-if="OnePayAmount != 0.1" class="col-sm-7 col-xs-7">
<div class="jiajian">
<div class="item" v-on:click="OneBuyModel.ConnectCount>1&&OneBuyModel.ConnectCount--">
-
</div>
<div class="item">
<input type="text" style="width:100%;height:60px;border:0;padding-left:20px" v-model="OneBuyModel.ConnectCount" />
@*<span>{{OneBuyModel.ConnectCount}}</span>*@
</div>
<div class="item" v-on:click="OneBuyModel.ConnectCount++">
+
@if (Model.Package.IsTest == 0) {
<div class="row">
<div class="col-sm-5 col-xs-5">
连接数:
</div>
<div v-if="OnePayAmount != 0.1" class="col-sm-7 col-xs-7">
<div class="jiajian">
<div class="item" v-on:click="OneBuyModel.ConnectCount>1&&OneBuyModel.ConnectCount--">
-
</div>
<div class="item">
<input type="text" style="width:100%;height:60px;border:0;padding-left:20px" v-model="OneBuyModel.ConnectCount" />
@*<span>{{OneBuyModel.ConnectCount}}</span>*@
</div>
<div class="item" v-on:click="OneBuyModel.ConnectCount++">
+
</div>
</div>
</div>
<div v-if="OnePayAmount == 0.1" class="col-sm-7 col-xs-7">
1
</div>
</div>
<div v-if="OnePayAmount == 0.1" class="col-sm-7 col-xs-7">
1
<div class="row">
<div class="col-sm-5 col-xs-5">
选择优惠券:
</div>
<div class="col-sm-7 col-xs-7 select">
<select class="chooseYhq" v-model="OneBuyModel.CouponId">
<option value="volvo">选择优惠券</option>
<option v-for="item in Coupons" :value="item.Id">{{item.Name}}</option>
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-5 col-xs-5">
选择优惠券:
</div>
<div class="col-sm-7 col-xs-7 select">
<select class="chooseYhq" v-model="OneBuyModel.CouponId">
<option value="volvo">选择优惠券</option>
<option v-for="item in Coupons" :value="item.Id">{{item.Name}}</option>
</select>
</div>
</div>
}
<div class="row" v-if="@userEntity.is_agent == 1">
<div class="col-sm-5 col-xs-5">
代理下会员号:
@@ -468,6 +477,9 @@
if((@(Model.Package.Id) == 64||@(Model.Package.Id) == 1004) && @(Model.Package.Price)<60){
total = this.OneBuyModel.ConnectCount * 60.00
}
if (@(Model.Package.IsTest) == 1) {
total = 1.00;
}
return total.toFixed(2);
},
OnePayAmount: function () {
@@ -484,6 +496,9 @@
total = min_cost;
}
if (@(Model.Package.IsTest) == 1) {
total = 1.00;
}
return total.toFixed(2);
},
MoreTotalAmount: function () {

View File

@@ -390,7 +390,7 @@
<p class="youhuiNew" style="color: #0066CC;">因业务调整,本产品停止新开及续费,未到期账号可正常使用</p>
}
@if(item.Product.Id == 14){
<p class="youhuiNew">天天IP于8.6日已恢复全新IP池欢迎选购<br>购买须知:本产品新开账号屏蔽QQ微信<br>购买需选择左侧天天产品类型</p>
<p class="youhuiNew">购买须知:本产品解除屏蔽QQ微信需联系在线客服<br>购买需选择左侧天天产品类型</p>
}
@if(item.Product.Id == 1 || item.Product.Id == 25){
<p class="youhuiNew" style="color: #0066CC;">本产品目前所有地区都屏蔽QQ微信 云南以及非大陆地区禁用</p>
@@ -548,7 +548,7 @@
<div class="card" style="margin-top:30px;">
<div style="display: flex;margin: 0 auto;">
@if(item.Product.TenantId == 1157){
@if(item.Product.TenantId == 1157 && item.Product.Content=="0" && item.Product.Id != 14){
<div class="item packageitem" a-test="true" id="@("pkgtest"+item.Product.Id)" a-pkg-id="@item.Product.Id">
<p><span class="price">免费</span></p>
<p class="yuanjia" style="color: #FF9900;text-decoration:none;"><span>@restStatus</span></p>
@@ -561,8 +561,7 @@
</div>
}
@foreach (var package in item.Packages.Where(m => m.IsTest == 0 && m.Status == 1 ).OrderBy(m => m.TenantId))
@foreach (var package in item.Packages.Where(m => (m.IsTest == 0 && m.Status == 1) || (m.ProductId==14 && m.Status == 1) ).OrderBy(m => m.TenantId))
{
@if(package.Title != "0"){
<style>
@@ -628,7 +627,7 @@
}
else if(package.Title!="0"){
<div class="item packageitem packageitem-@package.Id" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
<div class="item packageitem packageitem-@package.Id" id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@if((package.Id == 64||package.Id == 1004)&&package.Price<60){
@@ -644,7 +643,20 @@
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
} else {
}else if((package.Id == 89||package.Id == 1034||package.Id == 1040)&&package.IsTest==1){
<div class="item packageitem" a-test="true" id="@("pkg"+package.Id)" a-pkg-id="@item.Product.Id">
<p><span class="price">@package.Price</span>元</p>
<p class="yuanjia" style="color: #FF9900;">原价:<span>@package.LinePrice</span>元</p>
<p>@(Math.Round(package.Price/package.DayCount,2))元/天</p>
<div class="pkgNameCard">
<p class="tianka" style="font-size:17px;color:white;">@package.Name</p>
<p class="qixian">使用期限:1小时</p>
</div>
<img src="~/img/check.png" class="cardCheck">
</div>
}
else {
<div class="item " id="@("pkg"+package.Id)" a-pkg-id="@package.Id">
@@ -753,6 +765,7 @@
//隐藏天天尊享版
function hidettzz(){
$("#pkg89").hide();
$("#pkg69").hide();
$("#pkg70").hide();
$("#pkg71").hide();
@@ -772,7 +785,7 @@
}
}
function ttzhizun() {
$("#pkgtest14").show();
$("#pkg89").show();
$("#pkg69").show();
$("#pkg70").show();
$("#pkg71").show();
@@ -783,7 +796,7 @@
}
}
function ttgaoji() {
$("#pkgtest14").hide();
$("#pkg89").hide();
$("#pkg69").hide();
$("#pkg70").hide();
$("#pkg71").hide();
@@ -797,7 +810,7 @@
}
}
function ttputong() {
$("#pkgtest14").hide();
$("#pkg89").hide();
$("#pkg69").hide();
$("#pkg70").hide();
$("#pkg71").hide();
@@ -971,7 +984,7 @@
alert('请注意无尽IP仅供电脑端使用');
}
if (pid == 14) {
$("#pkgtest14").hide();
$("#pkg89").hide();
$("#pkg69").hide();
$("#pkg70").hide();
$("#pkg71").hide();
@@ -999,6 +1012,8 @@
});
$(".card .item").click(function () {
currentPkgId = $(this).attr('a-pkg-id');
console.log(isTest);
if ($(this).attr('a-test')){
isTest = true;
} else {
@@ -1018,11 +1033,12 @@
$('.warning').show();
return;
}
if(isTest||currentPkgId==1034||currentPkgId==1040){
if(isTest){
window.location.href = "Test?id=" + currentPkgId;
} else {
window.location.href = "Buy?id=" + currentPkgId;
}
console.log(isTest);
})
$(".testLogin").click(function () {
loginCallback = testLoginSuccess;

View File

@@ -90,7 +90,7 @@
<vc:pay-wait></vc:pay-wait>
<vc:pay-ok></vc:pay-ok>
<div class="container-fluid top">
<div class="container">
<div class="container" style="padding-top: 20px;">
<div class="row">
<div class="col-lg-3 text-center">
当前已选产品:
@@ -110,7 +110,11 @@
@if(Model.Package.Price < 60 && (Model.Package.Id == 64||Model.Package.Id == 1004)){
<p class="zongjia"><span>60.00</span>元</p>
} else {
<p class="zongjia"><span>@Model.Package.Price</span>元</p>
@if (Model.Package.IsTest == 0) {
<p class="zongjia"><span>@Model.Package.Price</span>元</p>
} else {
<p class="zongjia"><span>1.0</span>元</p>
}
}
</div>
</div>
@@ -129,6 +133,7 @@
<div id="app">
<!-- con -->
@if (Model.Package.IsTest == 0) {
<div class="container zhuce">
<div class="reg_tab">
<div class="item dan active_dan">
@@ -139,6 +144,7 @@
</div>
</div>
</div>
}
<div class="container t1" style="font-size: 18px;font-weight: bold;">
<form action="~/product/CreateOrder" method="post" id="accountForm">
<input type="hidden" name="PackageId" value="@Model.Package.Id" />
@@ -167,6 +173,7 @@
<span class="grayText">2至10位字母或数字或组合</span>
</div>
</div>
@if (Model.Package.IsTest == 0) {
<div class="row">
<div class="col-lg-4 text-right">
连接数:
@@ -208,7 +215,7 @@
<span class="grayText">淘宝每次下单获得优惠券</span>
</div>
</div>
}
<div class="row" v-if="@userEntity.is_agent == 1">
<div class="col-lg-4 text-right">
代理下会员号:
@@ -538,6 +545,9 @@
if((@(Model.Package.Id) == 64||@(Model.Package.Id) == 1004) && @(Model.Package.Price)<60){
total = this.OneBuyModel.ConnectCount * 60.00
}
if (@(Model.Package.IsTest) == 1) {
total = 1.00;
}
return total.toFixed(2);
},
OnePayAmount: function () {
@@ -554,6 +564,10 @@
total = min_cost;
}
}
if (@(Model.Package.IsTest) == 1) {
total = 1.00;
}
return total.toFixed(2);

View File

@@ -311,7 +311,10 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
price = packageEntity.MinPrice;
}
//为超过免费的测试卡改价格
if (packageEntity.IsTest == 1 && ((userEntity.TestCountLimit!=0 && userEntity.TestCountLimit<=userEntity.UseTestCount) || (userEntity.TestCountLimit ==0 && userEntity.UseTestCount>2))) {
price = 1.00M;
}
if (packageEntity.ProductId != 23 &&packageEntity.ProductId != 22 && ProductAccountCount == 0 && request.OrderType != OrderType.News && (packageEntity.DayCount == 1||packageEntity.DayCount == 2) && request.ConnectCount == 1 && request.OrderType!=OrderType.AgainBuy&& request.OrderType!=OrderType.AgainBuys){
// price = 0.1M;
@@ -376,11 +379,11 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
order.Accounts = request.Account;
}
if (userEntity.Id != 18157){
if (packageEntity.Name =="测试卡" && (order.AccountCount !=1 || order.ConnectCount != 1) ){
return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "如果再非法操作juip官网将对您进行制裁冻结您的账号");
}
}
// if (userEntity.Id != 18157){
// if (packageEntity.Name =="测试卡" && (order.AccountCount !=1 || order.ConnectCount != 1) ){
// return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, "如果再非法操作juip官网将对您进行制裁冻结您的账号");
// }
// }
//双月卡活动
// foreach (var account in order.Accounts.Split(",").ToList())
@@ -390,7 +393,6 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
// return new ApiResult<ProductOrderEntity>(ResultCode.C_INVALID_ERROR, account + "此IP账号已享受该优惠套餐无法再次购买,若要购买此优惠套餐,请新开或续费其他账号。");
// }
// }
await CheckRequest(order);
var ret = await CaclePaymentAmount(order, request.UseAccountAmount, is_user_price);
@@ -627,6 +629,12 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
if (order.OrderType == OrderType.New || order.OrderType == OrderType.News)
{
var accountEntitys = new List<ProductAccountEntity>();
var end_time = DateTime.Now.AddDays(order.DayCount);
if (order.PackageName == "测试卡" || order.PackageName == "测试卡(高级)" || order.PackageName == "测试卡(普通)") {
end_time = DateTime.Now.AddHours(order.DayCount);
}
await accounts.ForEachAsync(async account =>
{
@@ -636,7 +644,7 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
AccountType = (int)order.OrderType,
ConnectCount = order.ConnectCount,
StartTime = DateTime.Now,
EndTime = DateTime.Now.AddDays(order.DayCount),
EndTime = end_time,
PackageId = order.PackageId,
PackageName = order.PackageName,
ProductId = order.ProductId,
@@ -657,7 +665,7 @@ FROM product_order where {where} GROUP BY Channel,ProductName order by Channel,
await m_ProductAccountService.Adds(accountEntitys);
order.OrderState = OrderStatus.Complete;
order.StartTime = DateTime.Now;
order.EndTime = DateTime.Now.AddDays(order.DayCount);
order.EndTime = end_time;
await this.Update(order);
tran2.Commit();
}