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