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