## 待支付秒杀订单,再支付时进行限购校验;
This commit is contained in:
parent
dbf55e6342
commit
f0c6138766
|
@ -391,6 +391,12 @@ public class ApiOrderController extends BaseController {
|
|||
// 订单下商品已下架,不能购买
|
||||
return AjaxResult.error(TransactionUtils.getContent(SaOrderMsgConstants.ORDER_ITEM_OFF));
|
||||
}
|
||||
|
||||
SaOrderExt saOrderExt = iSaOrderService.queryOrderByCode(orderCode, CountryConstants.CHINA_COUNTRY);
|
||||
if (null != saOrderExt && EOrderType.MALL_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 校验秒杀订单限购
|
||||
iSaOrderService.checkMallOrder(saOrderExt);
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
|
|
@ -590,4 +590,11 @@ public interface ISaOrderService extends IService<SaOrder> {
|
|||
*/
|
||||
List<SingleItemStatVo> singleItemStat(SingleItemStatParam singleItemStatParam);
|
||||
|
||||
/**
|
||||
* 校验秒杀订单限购
|
||||
*
|
||||
* @param saOrderExt
|
||||
*/
|
||||
void checkMallOrder(SaOrderExt saOrderExt);
|
||||
|
||||
}
|
||||
|
|
|
@ -2320,22 +2320,30 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验秒杀限购
|
||||
*
|
||||
* @param saOrderExt
|
||||
*/
|
||||
private void checkMallOrder(SaOrderExt saOrderExt) {
|
||||
@Override
|
||||
public void checkMallOrder(SaOrderExt saOrderExt) {
|
||||
// key:商品ID,value:商品购买数量
|
||||
Map<Integer, Integer> limitMap = new HashMap<>();
|
||||
// key:商品ID,value:商品限购属性
|
||||
Map<Integer, BdWaresExtend> waresLimitMap = new HashMap<>();
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
// 非赠品
|
||||
limitMap.put(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity());
|
||||
if (CollectionUtil.isNotEmpty(saOrderExt.getOrderItemsList())) {
|
||||
// 新创建订单
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
// 非赠品
|
||||
limitMap.put(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 待支付订单
|
||||
for (SaOrderItems saOrderItems : saOrderExt.getOrderItemsExtList()) {
|
||||
if (EYesNo.NO.getIntValue() == saOrderItems.getIsGift()) {
|
||||
// 非赠品
|
||||
limitMap.put(saOrderItems.getPkWares(), saOrderItems.getWaresQuantity());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (limitMap.size() > 0) {
|
||||
// 商品限购数据
|
||||
List<BdWaresExtend> waresExtendList = iBdWaresExtendService.listByPkWaresList(limitMap.keySet());
|
||||
|
|
Loading…
Reference in New Issue