创建订单修复
This commit is contained in:
@@ -694,48 +694,55 @@ public class CartService {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
TbProductSkuWithBLOBs tbProduct = productSkuMapper.selectByPrimaryKey(Integer.valueOf(cart.getSkuId()));
|
||||
TbProduct tbProduct1 = tbProductMapper.selectById(Integer.valueOf(tbProduct.getProductId()));
|
||||
|
||||
// 判断商品是否已下架
|
||||
if (tbProduct.getIsGrounding().equals(0)) {
|
||||
JSONObject jsonObject1 = new JSONObject();
|
||||
jsonObject1.put("status", "fail");
|
||||
jsonObject1.put("msg", "商品已下架:" + tbProduct1.getName());
|
||||
jsonObject1.put("data", new ArrayList<>());
|
||||
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, jsonObject.getString("userId"), true);
|
||||
continue;
|
||||
}
|
||||
|
||||
log.info("下单,开始校验库存预警,购物车id:{}", cart.getId());
|
||||
CompletableFuture.runAsync(() -> checkWarnLineAndSendMsg(tbProduct, tbProduct1, cart.getNumber()));
|
||||
|
||||
|
||||
log.info("开始修改库存,商品id:{},商品名:{}", tbProduct1.getId(), tbProduct1.getName());
|
||||
// 修改库存
|
||||
try {
|
||||
// 首次下单扣除库存
|
||||
if (StrUtil.isBlank(cart.getOrderId())) {
|
||||
if (tbProduct1.getIsStock() == 1) {
|
||||
productService.updateStock(tbProduct.getProductId(), tbProduct.getId(), cart.getNumber(), tbProduct1.getIsDistribute() == 1);
|
||||
} else {
|
||||
productService.updateStockAndNoCheck(tbProduct.getProductId(), tbProduct.getId(), cart.getNumber(), tbProduct1.getIsDistribute() == 1);
|
||||
}
|
||||
TbProductSkuWithBLOBs tbProduct;
|
||||
if (!"-999".equals(cart.getProductId())) {
|
||||
tbProduct = productSkuMapper.selectByPrimaryKey(Integer.valueOf(cart.getSkuId()));
|
||||
TbProduct tbProduct1 = tbProductMapper.selectById(Integer.valueOf(tbProduct.getProductId()));
|
||||
// 判断商品是否已下架
|
||||
if (tbProduct.getIsGrounding().equals(0)) {
|
||||
JSONObject jsonObject1 = new JSONObject();
|
||||
jsonObject1.put("status", "fail");
|
||||
jsonObject1.put("msg", "商品已下架:" + tbProduct1.getName());
|
||||
jsonObject1.put("data", new ArrayList<>());
|
||||
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, jsonObject.getString("userId"), true);
|
||||
continue;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
JSONObject jsonObject1 = new JSONObject();
|
||||
jsonObject1.put("status", "fail");
|
||||
jsonObject1.put("msg", tbProduct1.getName() + "库存不足");
|
||||
jsonObject1.put("data", new ArrayList<>());
|
||||
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, jsonObject.getString("userId"), true);
|
||||
continue;
|
||||
log.info("下单,开始校验库存预警,购物车id:{}", cart.getId());
|
||||
CompletableFuture.runAsync(() -> checkWarnLineAndSendMsg(tbProduct, tbProduct1, cart.getNumber()));
|
||||
|
||||
|
||||
log.info("开始修改库存,商品id:{},商品名:{}", tbProduct1.getId(), tbProduct1.getName());
|
||||
// 修改库存
|
||||
try {
|
||||
// 首次下单扣除库存
|
||||
if (StrUtil.isBlank(cart.getOrderId())) {
|
||||
if (tbProduct1.getIsStock() == 1) {
|
||||
productService.updateStock(tbProduct.getProductId(), tbProduct.getId(), cart.getNumber(), tbProduct1.getIsDistribute() == 1);
|
||||
} else {
|
||||
productService.updateStockAndNoCheck(tbProduct.getProductId(), tbProduct.getId(), cart.getNumber(), tbProduct1.getIsDistribute() == 1);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
JSONObject jsonObject1 = new JSONObject();
|
||||
jsonObject1.put("status", "fail");
|
||||
jsonObject1.put("msg", tbProduct1.getName() + "库存不足");
|
||||
jsonObject1.put("data", new ArrayList<>());
|
||||
PushToAppChannelHandlerAdapter.getInstance().AppSendInfo(jsonObject1.toString(), tableCartKey, jsonObject.getString("userId"), true);
|
||||
continue;
|
||||
}
|
||||
saleAmount = saleAmount.add(tbProduct.getSalePrice());
|
||||
}else {
|
||||
tbProduct = null;
|
||||
saleAmount = saleAmount.add(shopEatTypeInfoDTO.getShopInfo().getTableFee());
|
||||
|
||||
}
|
||||
|
||||
|
||||
totalAmount = totalAmount.add(cart.getTotalAmount());
|
||||
packAMount = packAMount.add(cart.getPackFee());
|
||||
originAmount = originAmount.add(cart.getTotalAmount());
|
||||
saleAmount = saleAmount.add(tbProduct.getSalePrice());
|
||||
|
||||
TbOrderDetail orderDetail = oldOrderDetailMap.get(cart.getOrderId() + cart.getId());
|
||||
if (orderDetail == null) {
|
||||
@@ -751,7 +758,7 @@ public class CartService {
|
||||
}
|
||||
orderDetail.setProductId(Integer.valueOf(cart.getProductId()));
|
||||
orderDetail.setProductSkuId(Integer.valueOf(cart.getSkuId()));
|
||||
orderDetail.setProductSkuName(tbProduct.getSpecSnap());
|
||||
orderDetail.setProductSkuName(tbProduct == null ? null : tbProduct.getSpecSnap());
|
||||
orderDetail.setProductName(cart.getName());
|
||||
orderDetail.setShopId(jsonObject.getInteger("shopId"));
|
||||
orderDetail.setPackAmount(cart.getPackFee());
|
||||
@@ -915,7 +922,11 @@ public class CartService {
|
||||
|
||||
for (TbOrderDetail orderDetail : orderDetails) {
|
||||
orderDetail.setOrderId(orderId);
|
||||
orderDetailMapper.insert(orderDetail);
|
||||
if (orderDetail.getId() != null) {
|
||||
mpOrderDetailMapper.updateById(orderDetail);
|
||||
}else {
|
||||
mpOrderDetailMapper.insert(orderDetail);
|
||||
}
|
||||
}
|
||||
List<TbActivateOutRecord> outRecords = new ArrayList<>();
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
|
||||
@@ -889,6 +889,8 @@ public class ProductService {
|
||||
.eq(TbCashierCart::getShopId, choseCountDTO.getShopId())
|
||||
.eq(TbCashierCart::getProductId, "-999")
|
||||
.eq(TbCashierCart::getSkuId, "-999")
|
||||
.eq(TbCashierCart::getStatus, "create")
|
||||
.and(r -> r.eq(TbCashierCart::getUserId, choseCountDTO.getUserId()).or().isNull(TbCashierCart::getUserId))
|
||||
.eq(TbCashierCart::getUseType, shopEatTypeInfoDTO.getUseType())
|
||||
.eq(TbCashierCart::getTableId, choseCountDTO.getTableId());
|
||||
TbCashierCart tbCashierCart = mpCashierCartMapper.selectOne(query);
|
||||
|
||||
Reference in New Issue
Block a user