|
|
@@ -3952,7 +3952,21 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
checkUserBenefitsStatus(userBenefits, userIdList);
|
|
|
OrderDon orderDon = new OrderDon();
|
|
|
orderDon.setOrderNo(SEQUENCE.nextId().toString());
|
|
|
- GoodsDonSku sku = goodsDonSkuMapper.selectById(userBenefits.getSkuId());
|
|
|
+ if (userBenefits.getType() == UserBenefits.Type.COMBO) {
|
|
|
+ if (orderPayRequest.getSkuId() == null) {
|
|
|
+ throw BusinessRuntimeException.getInstance("请选择对应套餐");
|
|
|
+ }
|
|
|
+ String comboSkuIds = userBenefits.getComboSkuIds();
|
|
|
+ if (!Jsons.parseList(comboSkuIds, Long.class).contains(orderPayRequest.getSkuId())) {
|
|
|
+ throw BusinessRuntimeException.getInstance("错误套餐");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ GoodsDonSku sku;
|
|
|
+ if (userBenefits.getType() == UserBenefits.Type.RENEW) {
|
|
|
+ sku = goodsDonSkuMapper.selectById(userBenefits.getSkuId());
|
|
|
+ } else {
|
|
|
+ sku = goodsDonSkuMapper.selectById(orderPayRequest.getSkuId());
|
|
|
+ }
|
|
|
orderDon.setMoney(sku.getPrice());
|
|
|
GoodsDon goodsDon = goodsDonMapper.selectById(sku.getGoodsId());
|
|
|
Long relationId = 0l;
|