【优化】优化下单前进行秒杀、团购、拼团的条件判定,防止出现不满足条件的下单。

This commit is contained in:
JianWeie
2022-06-07 12:03:50 +08:00
parent 74682a2809
commit f8a3910fa9
2 changed files with 42 additions and 42 deletions

View File

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

View File

@@ -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;
}
}
//清除购物车信息