|
|
@@ -297,6 +297,8 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
List<GoodsDonSku> goodsDonSkus = Jsons.parseList(sku.getBenefitsList(), GoodsDonSku.class);
|
|
|
//自购实物 获取权益
|
|
|
userRealOrderBenefitsService.getPayRealGoodsBenefits(orderDon.getUserId(), orderDon.getId(), orderDon.getYhsId(), goodsDonSkus);
|
|
|
+ //清除多余的车票
|
|
|
+ clearExtraRelation(orderDon);
|
|
|
} catch (Exception e) {
|
|
|
redisService.del(benefitsKey);
|
|
|
}
|
|
|
@@ -1407,4 +1409,23 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void clearExtraRelation(OrderDon orderDon) {
|
|
|
+ List<UserPayEquipmentReceiveBenefitsRecord> userPayEquipmentReceiveBenefitsRecords = receiveBenefitsRecordMapper.selectList(Wrappers.lambdaQuery(UserPayEquipmentReceiveBenefitsRecord.class)
|
|
|
+ .eq(UserPayEquipmentReceiveBenefitsRecord::getRealOrderId, orderDon.getId()));
|
|
|
+ userPayEquipmentReceiveBenefitsRecords.forEach(record -> {
|
|
|
+ Long skuId = record.getSkuId();
|
|
|
+ List<GroupsRelation> relations = relationMapper.selectExtraRelation(orderDon.getUserId(), skuId, record.getRelationId());
|
|
|
+ relations.forEach(relation -> {
|
|
|
+ //不是优惠加购
|
|
|
+ Integer count = orderDiscountPlusPurchaseSkuRelationMapper.selectCount(Wrappers.lambdaQuery(OrderDiscountPlusPurchaseSkuRelation.class)
|
|
|
+ .eq(OrderDiscountPlusPurchaseSkuRelation::getUserId, relation.getUserId())
|
|
|
+ .apply("JSON_CONTAINS(relation_ids,'" + relation.getId() + "')"));
|
|
|
+ if (count == 0) {
|
|
|
+ log.info("非优惠加购订单,直接清除userId:{}车票:{}", relation.getUserId(), relation.getId());
|
|
|
+ relationClearService.clearTicket(relation, UserTicketClearedRecord.Source.manual);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|