mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 19:13:26 +08:00
【优化】优化下单前进行秒杀、团购、拼团的条件判定,防止出现不满足条件的下单。
This commit is contained in:
@@ -70,7 +70,7 @@ namespace CoreCms.Net.Repository
|
||||
|
||||
//计算订单总量
|
||||
queryable.WhereIF(productId > 0, (orderItem, orderModel) => orderItem.productId == productId);
|
||||
queryable.In((orderItem, orderModel) => orderModel.status, payStatusArr);
|
||||
queryable.In((orderItem, orderModel) => orderModel.status, statusArr);
|
||||
//在活动时间范围内
|
||||
queryable.WhereIF(startTime != null, (orderItem, orderModel) => orderModel.createTime >= startTime);
|
||||
queryable.WhereIF(endTime != null, (orderItem, orderModel) => orderModel.createTime < endTime);
|
||||
@@ -78,7 +78,6 @@ namespace CoreCms.Net.Repository
|
||||
queryable.In((orderItem, orderModel) => orderModel.payStatus, payStatusArr);
|
||||
queryable.In((orderItem, orderModel) => orderModel.shipStatus, shipStatusArr);
|
||||
|
||||
|
||||
//订单类型
|
||||
if (orderType > 0)
|
||||
{
|
||||
|
||||
@@ -253,6 +253,47 @@ namespace CoreCms.Net.Services
|
||||
order.createTime = DateTime.Now;
|
||||
order.scene = scene;
|
||||
|
||||
//不同的订单类型会有不同的操作
|
||||
switch (orderType)
|
||||
{
|
||||
case (int)GlobalEnumVars.OrderType.Common:
|
||||
//标准模式不需要修改订单数据和商品数据
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.PinTuan:
|
||||
//拼团模式去校验拼团是否存在,并添加拼团记录
|
||||
var pinTuanRes = await _pinTuanRecordServices.OrderAdd(order, orderItems, teamId);
|
||||
if (pinTuanRes.status == false)
|
||||
{
|
||||
return pinTuanRes;
|
||||
}
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.Group:
|
||||
var groupRes = await _promotionRecordServices.OrderAdd(order, orderItems, objectId, orderType);
|
||||
if (groupRes.status == false)
|
||||
{
|
||||
return groupRes;
|
||||
}
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.Skill:
|
||||
var rskillRes = await _promotionRecordServices.OrderAdd(order, orderItems, objectId, orderType);
|
||||
if (rskillRes.status == false)
|
||||
{
|
||||
return rskillRes;
|
||||
}
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.Bargain:
|
||||
//砍价模式
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
jm.status = false;
|
||||
jm.data = 10000;
|
||||
jm.msg = GlobalErrorCodeVars.Code10000;
|
||||
break;
|
||||
}
|
||||
|
||||
//开始事务处理
|
||||
await _dal.InsertAsync(order);
|
||||
|
||||
@@ -302,46 +343,6 @@ namespace CoreCms.Net.Services
|
||||
return pointLogRes;
|
||||
}
|
||||
}
|
||||
//不同的订单类型会有不同的操作
|
||||
switch (orderType)
|
||||
{
|
||||
case (int)GlobalEnumVars.OrderType.Common:
|
||||
//标准模式不需要修改订单数据和商品数据
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.PinTuan:
|
||||
//拼团模式去校验拼团是否存在,并添加拼团记录
|
||||
var pinTuanRes = await _pinTuanRecordServices.OrderAdd(order, orderItems, teamId);
|
||||
if (pinTuanRes.status == false)
|
||||
{
|
||||
return pinTuanRes;
|
||||
}
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.Group:
|
||||
var groupRes = await _promotionRecordServices.OrderAdd(order, orderItems, objectId, orderType);
|
||||
if (groupRes.status == false)
|
||||
{
|
||||
return groupRes;
|
||||
}
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.Skill:
|
||||
var rskillRes = await _promotionRecordServices.OrderAdd(order, orderItems, objectId, orderType);
|
||||
if (rskillRes.status == false)
|
||||
{
|
||||
return rskillRes;
|
||||
}
|
||||
break;
|
||||
case (int)GlobalEnumVars.OrderType.Bargain:
|
||||
//砍价模式
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
jm.status = false;
|
||||
jm.data = 10000;
|
||||
jm.msg = GlobalErrorCodeVars.Code10000;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//清除购物车信息
|
||||
|
||||
Reference in New Issue
Block a user