Merge branch 'ww' into test

# Conflicts:
#	eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductStockDetailServiceImpl.java
This commit is contained in:
wangw 2024-10-14 15:30:07 +08:00
commit da9a1dc3b8
1 changed files with 38 additions and 31 deletions

View File

@ -32,6 +32,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.IOException;
import java.util.concurrent.CompletableFuture;
import javax.servlet.http.HttpServletResponse;
@Service
@ -243,39 +244,45 @@ public class TbProductStockDetailServiceImpl implements TbProductStockDetailServ
@Override
public void addSaleRecord(Integer orderId) {
List<StockCountDTO> stockCountDTOS = stockCountRepository.countStockById(orderId);
try {
Thread.sleep(3000l);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
log.info("查询到订单id: {}的所有库存数据: {}", orderId, stockCountDTOS);
stockCountDTOS.forEach(s -> {
//客座费不统计
if (s.getProId() > 0) {
if (s.getStockCount() > 0) {
TbProductStockDetail productStockDetail = new TbProductStockDetail();
productStockDetail.setCreatedAt(System.currentTimeMillis());
productStockDetail.setUpdatedAt(System.currentTimeMillis());
productStockDetail.setShopId(s.getShopId());
productStockDetail.setProductId(s.getProId().toString());
productStockDetail.setProductName(s.getProName());
productStockDetail.setOrderId(orderId.toString());
// productStockDetail.setSkuId(s.getSkuId().toString());
productStockDetail.setIsStock(s.getIsStock());//是否开启库存
productStockDetail.setLeftNumber(s.getStockNumber() + s.getStockCount());//原库存
productStockDetail.setSpecSnap(s.getSpecSnap());
productStockDetail.setUnitName(s.getUnitName());
productStockDetail.setStockNumber(-Double.valueOf(s.getStockCount()));
productStockDetail.setSourcePath("NORMAL");
productStockDetail.setType("售出记录");
productStockDetail.setRemark("售出记录:" + orderId);
productStockDetail.setSubType(-1);
tbProductStockDetailRepository.save(productStockDetail);
}
skutMapper.incrRealSalesNumber(s.getSkuId().intValue(), s.getStockCount());
// 先进行延迟
CompletableFuture<Void> delayFuture = CompletableFuture.runAsync(() -> {
try {
Thread.sleep(3000L);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new RuntimeException(e);
}
});
delayFuture.thenRun(() -> {
List<StockCountDTO> stockCountDTOS = stockCountRepository.countStockById(orderId);
log.info("查询到订单id: {}的所有库存数据: {}", orderId, stockCountDTOS);
stockCountDTOS.forEach(s -> {
if (s.getProId() > 0) {
if (s.getStockCount() > 0) {
TbProductStockDetail productStockDetail = new TbProductStockDetail();
productStockDetail.setCreatedAt(System.currentTimeMillis());
productStockDetail.setUpdatedAt(System.currentTimeMillis());
productStockDetail.setShopId(s.getShopId());
productStockDetail.setProductId(s.getProId().toString());
productStockDetail.setProductName(s.getProName());
productStockDetail.setOrderId(orderId.toString());
// productStockDetail.setSkuId(s.getSkuId().toString());
productStockDetail.setIsStock(s.getIsStock());// 是否开启库存
productStockDetail.setLeftNumber(s.getStockNumber() + s.getStockCount());// 原库存
productStockDetail.setSpecSnap(s.getSpecSnap());
productStockDetail.setUnitName(s.getUnitName());
productStockDetail.setStockNumber(-Double.valueOf(s.getStockCount()));
productStockDetail.setSourcePath("NORMAL");
productStockDetail.setType("售出记录");
productStockDetail.setRemark("售出记录:" + orderId);
productStockDetail.setSubType(-1);
tbProductStockDetailRepository.save(productStockDetail);
}
skutMapper.incrRealSalesNumber(s.getSkuId().intValue(), s.getStockCount());
}
});
});
}
}