code review:营销活动 & 交易订单的对接

This commit is contained in:
YunaiV
2023-09-23 22:21:23 +08:00
parent 1da14a3f53
commit aa5525d1f5
11 changed files with 47 additions and 30 deletions

View File

@@ -106,7 +106,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
if (order == null) {
throw exception(ORDER_NOT_FOUND);
}
// 查询物流
return getExpressTrackList(order);
}
@@ -117,7 +117,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
if (order == null) {
throw exception(ORDER_NOT_FOUND);
}
// 查询物流
return getExpressTrackList(order);
}

View File

@@ -20,14 +20,17 @@ public class TradeBargainHandler implements TradeOrderHandler {
@Resource
private BargainActivityApi bargainActivityApi;
// TODO @puhui999先临时写在这里在价格计算时如果是秒杀商品需要校验如下条件
// 1. 商品存在、库存充足、单次限购;
// 2. 活动进行中、时间段符合
@Override
public void beforeOrderCreate(TradeBeforeOrderCreateReqBO reqBO) {
// 如果是砍价订单
if (ObjectUtil.notEqual(TradeOrderTypeEnum.BARGAIN.getType(), reqBO.getOrderType())) {
return;
}
// 额外扣减砍价的库存
// 扣减砍价活动的库存
bargainActivityApi.updateBargainActivityStock(reqBO.getBargainActivityId(), reqBO.getCount());
}

View File

@@ -24,9 +24,12 @@ public interface TradeOrderHandler {
*/
void afterOrderCreate(TradeAfterOrderCreateReqBO reqBO);
// TODO @puhui999这个搞成订单取消
/**
* 回滚
*/
void rollback();
// TODO @puhui999再搞个订单项取消哈
}

View File

@@ -20,13 +20,17 @@ public class TradeSeckillHandler implements TradeOrderHandler {
@Resource
private SeckillActivityApi seckillActivityApi;
// TODO @puhui999先临时写在这里在价格计算时如果是秒杀商品需要校验如下条件
// 1. 商品存在、库存充足、单次限购;
// 2. 活动进行中、时间段符合
@Override
public void beforeOrderCreate(TradeBeforeOrderCreateReqBO reqBO) {
// 如果是秒杀订单:额外扣减秒杀的库存;
if (ObjectUtil.notEqual(TradeOrderTypeEnum.SECKILL.getType(), reqBO.getOrderType())) {
return;
}
// 扣减秒杀活动的库存
seckillActivityApi.updateSeckillStock(reqBO.getSeckillActivityId(), reqBO.getSkuId(), reqBO.getCount());
}