mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2026-02-05 00:49:49 +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.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(startTime != null, (orderItem, orderModel) => orderModel.createTime >= startTime);
|
||||||
queryable.WhereIF(endTime != null, (orderItem, orderModel) => orderModel.createTime < endTime);
|
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.payStatus, payStatusArr);
|
||||||
queryable.In((orderItem, orderModel) => orderModel.shipStatus, shipStatusArr);
|
queryable.In((orderItem, orderModel) => orderModel.shipStatus, shipStatusArr);
|
||||||
|
|
||||||
|
|
||||||
//订单类型
|
//订单类型
|
||||||
if (orderType > 0)
|
if (orderType > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -253,6 +253,47 @@ namespace CoreCms.Net.Services
|
|||||||
order.createTime = DateTime.Now;
|
order.createTime = DateTime.Now;
|
||||||
order.scene = scene;
|
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);
|
await _dal.InsertAsync(order);
|
||||||
|
|
||||||
@@ -302,46 +343,6 @@ namespace CoreCms.Net.Services
|
|||||||
return pointLogRes;
|
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