feat: 单品改价相关接口

This commit is contained in:
张松
2024-11-20 10:47:52 +08:00
parent 92e4f9cb26
commit d8177bf3a4
2 changed files with 4 additions and 3 deletions

View File

@@ -49,7 +49,7 @@ public class MpOrderInfoServiceImpl extends ServiceImpl<TbOrderInfoMapper, TbOrd
return update(new LambdaUpdateWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, orderId)
.eq(TbOrderInfo::getStatus, TableConstant.OrderInfo.Status.UNPAID.getValue())
.apply("settlement_amount + {0} >= 0", subtract)
.apply(StrUtil.format("settlement_amount + {} >= 0", subtract))
.setSql(StrUtil.format("settlement_amount=settlement_amount+{}", subtract))
.setSql(StrUtil.format("order_amount=order_amount+{}", subtract))
.setSql(StrUtil.format("amount=amount+{}", subtract))

View File

@@ -2902,11 +2902,12 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("购物车商品不存在");
}
if (updatePriceDTO.getSaleAmount().compareTo(cashierCart.getSalePrice()) == 0) {
if (updatePriceDTO.getSaleAmount().compareTo(cashierCart.getDiscountSaleAmount()) == 0) {
return cashierCart;
}
BigDecimal newTotalPrice = updatePriceDTO.getSaleAmount().multiply(cashierCart.getTotalNumber()).add(cashierCart.getPackFee());
BigDecimal oldAmount = cashierCart.getTotalAmount();
cashierCart.setTotalAmount(newTotalPrice);
cashierCart.setUpdatedAt(DateUtil.current());
cashierCart.setDiscountSaleNote(updatePriceDTO.getNote());
@@ -2916,7 +2917,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 更新订单和detail价格
if (cashierCart.getOrderId() != null) {
mpOrderDetailService.updatePriceByCartId(cashierCart.getId(), updatePriceDTO.getSaleAmount(), newTotalPrice);
mpOrderInfoService.incrAmount(cashierCart.getOrderId(), newTotalPrice.subtract(cashierCart.getTotalAmount()));
mpOrderInfoService.incrAmount(cashierCart.getOrderId(), newTotalPrice.subtract(oldAmount));
}
return cashierCart;
}