创建订单修改

This commit is contained in:
2024-10-10 09:10:27 +08:00
parent 5fdd361789
commit 2a9e26e524
2 changed files with 25 additions and 9 deletions

View File

@@ -0,0 +1,6 @@
package com.chaozhanggui.system.cashierservice.bean.constant;
public interface TableConstant {
String CART_SEAT_ID = "-999";
}

View File

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chaozhanggui.system.cashierservice.bean.*;
import com.chaozhanggui.system.cashierservice.bean.constant.TableConstant;
import com.chaozhanggui.system.cashierservice.dao.*;
import com.chaozhanggui.system.cashierservice.entity.*;
import com.chaozhanggui.system.cashierservice.entity.dto.ChoseCountDTO;
@@ -795,15 +796,16 @@ public class OrderService {
if (orderDetail == null) {
orderDetail = new TbOrderDetail();
// 已经加入修改了库存数量,返还或减少库存
} else {
int subVal = cashierCart.getNumber() - orderDetail.getNum();
// 减少了数量
if (subVal < 0) {
productService.incrStock(cashierCart.getProductId(), cashierCart.getSkuId(), Math.abs(subVal));
} else if (subVal > 0) {
productService.decrStock(cashierCart.getProductId(), cashierCart.getSkuId(), subVal);
if (!TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId())) {
int subVal = cashierCart.getNumber() - orderDetail.getNum();
// 减少了数量
if (subVal < 0) {
productService.incrStock(cashierCart.getProductId(), cashierCart.getSkuId(), Math.abs(subVal));
} else if (subVal > 0) {
productService.decrStock(cashierCart.getProductId(), cashierCart.getSkuId(), subVal);
}
}
}
@@ -827,13 +829,17 @@ public class OrderService {
saleAmount = saleAmount.add(tbProduct.getSalePrice());
}
if (TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId())) {
saleAmount = saleAmount.add(shopInfo.getTableFee());
}
orderDetail.setCreateTime(new Date());
orderDetail.setNum(cashierCart.getNumber());
orderDetail.setPrice(cashierCart.getSalePrice());
orderDetail.setPriceAmount(cashierCart.getTotalAmount());
orderDetail.setProductId(Integer.valueOf(cashierCart.getProductId()));
orderDetail.setProductSkuId(Integer.valueOf(cashierCart.getSkuId()));
orderDetail.setProductSkuName(tbProduct.getSpecSnap());
orderDetail.setProductSkuName(tbProduct == null ? null : tbProduct.getSpecSnap());
orderDetail.setProductName(cashierCart.getName());
orderDetail.setShopId(orderVo.getShopId());
orderDetail.setStatus("unpaid");
@@ -845,8 +851,12 @@ public class OrderService {
}
orderDetails.add(orderDetail);
// 库存预警校验
CompletableFuture.runAsync(() -> checkWarnLineAndSendMsg(tbProduct, product, Integer.valueOf(cashierCart.getShopId()), cashierCart.getNumber()));
if (TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId())) {
CompletableFuture.runAsync(() -> checkWarnLineAndSendMsg(tbProduct, product, Integer.valueOf(cashierCart.getShopId()), cashierCart.getNumber()));
}
}
mpCashierCartService.updateBatchById(list);