mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:03:27 +08:00
【修复】修复首页【秒杀】【团购】优惠后价格计算显示异常的问题。修复【秒杀】【团购】列表页面优惠后价格计算显示异常的问。
【优化】取消首页【秒杀】【团购】【服务商品】自定义倒计时组件,使用组件原生数字倒计时,减少监听事件,去除内存可能泄露的风险。
This commit is contained in:
@@ -498,7 +498,7 @@ namespace CoreCms.Net.Services
|
||||
if (parameters != null && parameters.ContainsKey("list"))
|
||||
{
|
||||
var result = JArray.Parse(parameters["list"].ToString());
|
||||
var newReslut = new JArray();
|
||||
var ids = new List<int>();
|
||||
foreach (var jToken in result)
|
||||
{
|
||||
var ss = (JObject)jToken;
|
||||
@@ -509,47 +509,17 @@ namespace CoreCms.Net.Services
|
||||
var promotionId = ss["id"].ObjectToInt(0);
|
||||
if (promotionId > 0)
|
||||
{
|
||||
var promotionModel = await _promotionServices.QueryByClauseAsync(p => p.id == promotionId && p.isEnable == true && p.startTime <= dt && p.endTime > dt, true, true);
|
||||
if (promotionModel != null)
|
||||
{
|
||||
var condition = await _promotionConditionServices.QueryByClauseAsync(p => p.promotionId == promotionId, true, true);
|
||||
if (condition != null)
|
||||
{
|
||||
var goods = await _promotionServices.GetGroupDetail(promotionId, 0, (int)GlobalEnumVars.PromotionType.Group, false);
|
||||
if (goods.status)
|
||||
{
|
||||
var goodJson = JsonConvert.SerializeObject(goods.data);
|
||||
ss.Add("goods", JToken.Parse(goodJson));
|
||||
}
|
||||
}
|
||||
int startStatus;
|
||||
var lastTime = 0;
|
||||
if (promotionModel.startTime > dt)
|
||||
{
|
||||
startStatus = (int)GlobalEnumVars.GroupSeckillStatus.Upcoming;
|
||||
var ts = promotionModel.startTime.Subtract(dt);
|
||||
lastTime = (int)ts.TotalSeconds;
|
||||
}
|
||||
else if (promotionModel.startTime <= dt && promotionModel.endTime > dt)
|
||||
{
|
||||
startStatus = (int)GlobalEnumVars.GroupSeckillStatus.InProgress;
|
||||
var ts = promotionModel.endTime.Subtract(dt);
|
||||
lastTime = (int)ts.TotalSeconds;
|
||||
}
|
||||
else
|
||||
{
|
||||
startStatus = (int)GlobalEnumVars.GroupSeckillStatus.Finished;
|
||||
}
|
||||
|
||||
ss.Add("startStatus", startStatus);
|
||||
ss.Add("lastTime", lastTime);
|
||||
newReslut.Add(ss);
|
||||
}
|
||||
ids.Add(promotionId);
|
||||
}
|
||||
}
|
||||
}
|
||||
parameters.Remove("list");
|
||||
parameters.Add("list", newReslut);
|
||||
|
||||
if (ids.Any())
|
||||
{
|
||||
var list = await _promotionServices.GetGroupListForPages(ids.ToArray());
|
||||
parameters.Remove("list");
|
||||
parameters.Add("list", JArray.FromObject(list));
|
||||
}
|
||||
}
|
||||
|
||||
dto.parameters = parameters;
|
||||
@@ -561,7 +531,7 @@ namespace CoreCms.Net.Services
|
||||
if (parameters != null && parameters.ContainsKey("list"))
|
||||
{
|
||||
var result = JArray.Parse(parameters["list"].ToString());
|
||||
var newReslut = new JArray();
|
||||
var ids = new List<int>();
|
||||
foreach (var jToken in result)
|
||||
{
|
||||
var ss = (JObject)jToken;
|
||||
@@ -572,53 +542,18 @@ namespace CoreCms.Net.Services
|
||||
var promotionId = ss["id"].ObjectToInt(0);
|
||||
if (promotionId > 0)
|
||||
{
|
||||
var promotionModel = await _promotionServices.QueryByClauseAsync(p => p.id == promotionId && p.isEnable == true && p.startTime <= dt && p.endTime > dt, true, true);
|
||||
if (promotionModel != null)
|
||||
{
|
||||
var condition = await _promotionConditionServices.QueryByClauseAsync(p => p.promotionId == promotionId, true, true);
|
||||
if (condition != null)
|
||||
{
|
||||
var goods = await _promotionServices.GetGroupDetail(promotionId, 0, (int)GlobalEnumVars.PromotionType.Seckill, false);
|
||||
if (goods.status)
|
||||
{
|
||||
var goodJson = JsonConvert.SerializeObject(goods.data);
|
||||
ss.Add("goods", JToken.Parse(goodJson));
|
||||
}
|
||||
}
|
||||
|
||||
int startStatus;
|
||||
int lastTime = 0;
|
||||
|
||||
if (promotionModel.startTime > dt)
|
||||
{
|
||||
startStatus = (int)GlobalEnumVars.GroupSeckillStatus.Upcoming;
|
||||
|
||||
var ts = promotionModel.startTime.Subtract(dt);
|
||||
lastTime = (int)ts.TotalSeconds;
|
||||
}
|
||||
else if (promotionModel.startTime <= dt && promotionModel.endTime > dt)
|
||||
{
|
||||
startStatus = (int)GlobalEnumVars.GroupSeckillStatus.InProgress;
|
||||
|
||||
var ts = promotionModel.endTime.Subtract(dt);
|
||||
lastTime = (int)ts.TotalSeconds;
|
||||
}
|
||||
else
|
||||
{
|
||||
startStatus = (int)GlobalEnumVars.GroupSeckillStatus.Finished;
|
||||
}
|
||||
|
||||
ss.Add("startStatus", startStatus);
|
||||
ss.Add("lastTime", lastTime);
|
||||
newReslut.Add(ss);
|
||||
}
|
||||
ids.Add(promotionId);
|
||||
}
|
||||
}
|
||||
}
|
||||
parameters.Remove("list");
|
||||
parameters.Add("list", newReslut);
|
||||
}
|
||||
|
||||
if (ids.Any())
|
||||
{
|
||||
var list = await _promotionServices.GetGroupListForPages(ids.ToArray());
|
||||
parameters.Remove("list");
|
||||
parameters.Add("list", JArray.FromObject(list));
|
||||
}
|
||||
}
|
||||
dto.parameters = parameters;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user