2026-06-29 940c8481d2fdcf51341db4ccd6fd6fcc2d43debb
yudao-module-wms/src/main/java/cn/iocoder/yudao/module/wms/dal/mysql/inventory/WmsInventoryMapper.java
@@ -6,6 +6,7 @@
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
import cn.iocoder.yudao.module.wms.api.inventory.dto.WmsInventoryQueryReqDTO;
import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryListReqVO;
import cn.iocoder.yudao.module.wms.controller.admin.inventory.vo.WmsInventoryPageReqVO;
import cn.iocoder.yudao.module.wms.dal.dataobject.inventory.WmsInventoryDO;
@@ -123,4 +124,17 @@
        throw new IllegalArgumentException("未知库存统计维度:" + type);
    }
    /**
     * 根据 API 查询条件查询库存列表
     */
    default List<WmsInventoryDO> selectListByQuery(WmsInventoryQueryReqDTO reqDTO) {
        LambdaQueryWrapperX<WmsInventoryDO> query = new LambdaQueryWrapperX<WmsInventoryDO>()
                .inIfPresent(WmsInventoryDO::getSkuId, reqDTO.getSkuIds())
                .inIfPresent(WmsInventoryDO::getWarehouseId, reqDTO.getWarehouseIds());
        if (Boolean.TRUE.equals(reqDTO.getOnlyPositive())) {
            query.gt(WmsInventoryDO::getQuantity, BigDecimal.ZERO);
        }
        return selectList(query);
    }
}