package com.ruoyi.procurementrecord.utils; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import java.math.BigDecimal; @Component @RequiredArgsConstructor public class StockUtils { private final ProcurementRecordOutMapper procurementRecordOutMapper; private final ProcurementRecordMapper procurementRecordMapper; // 获取商品剩余库存 public BigDecimal getStockQuantity(Long productModelId) { // 入库数量 BigDecimal sumQuantity = procurementRecordMapper.getSumQuantity(productModelId); // 出库数量 BigDecimal outQuantity = procurementRecordOutMapper.getSumQuantity(productModelId); return outQuantity.compareTo(sumQuantity) > 0 ? BigDecimal.ZERO : sumQuantity.subtract(outQuantity); } }