package com.wansenai.mappers.stock;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wansenai.entities.stock.BasStockAccount;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

@Mapper
public interface BasStockAccountMapper extends BaseMapper<BasStockAccount> {
    
    /**
     * 根据仓库ID和商品ID查询库存信息
     */
    BasStockAccount getStockByWarehouseAndGoods(@Param("warehouseId") Long warehouseId, 
                                               @Param("goodsId") Long goodsId);
    
    /**
     * 更新库存数量
     */
    int updateStockQty(@Param("id") Long id, 
                       @Param("qty") BigDecimal qty);
    
    /**
     * 更新锁定数量
     */
    int updateLockQty(@Param("id") Long id, 
                      @Param("qtyLock") BigDecimal qtyLock);
    
    /**
     * 更新在途数量
     */
    int updateTranQty(@Param("id") Long id, 
                      @Param("qtyTran") BigDecimal qtyTran);
    
    /**
     * 批量插入库存信息
     */
    int batchInsert(@Param("stockList") List<BasStockAccount> stockList);
}
