[fix]核销码核销后检查是否都已核销 都核销后将订单状态改为已关闭

This commit is contained in:
王庆祥 2025-09-30 23:28:28 +08:00
parent 50767ad7b3
commit f9cf42b9a8

View File

@ -113,6 +113,17 @@ public class VerificationCodeServiceImpl extends ServiceImpl<VerificationCodesM
verificationCodes.setUsedMerchantId(tenantId);
verificationCodes.setVerificationTime(LocalDateTime.now());
codeMapper.updateById(verificationCodes);
//先检查订单明细的核销码是否都已经核销
boolean allUsed = codeMapper.selectCount(Wrappers.lambdaQuery(VerificationCodes.class)
.eq(VerificationCodes::getOrderItemId, verificationCodes.getOrderItemId())
.eq(VerificationCodes::getStatus, VerificationCodeStatus.TO_BE_USED.getCode())) == 0;
if (allUsed) {
// 更新订单状态为已核销
orderMapper.update(Wrappers.lambdaUpdate(Order.class)
.eq(Order::getId, verificationCodes.getOrderId())
.set(Order::getStatus, OrderStatusEnum.CLOSED.getValue()));
}
}