package com.kmall.admin.service; import com.kmall.admin.dto.GoodsDetailsDto; import com.kmall.admin.dto.GoodsDto; import com.kmall.admin.dto.GoodsPanoramaDto; import com.kmall.admin.entity.GoodsEntity; import com.kmall.admin.entity.TaxErrorRecordEntity; import com.kmall.admin.entity.haikong.StockChangeRecordEntity; import com.kmall.admin.fromcomm.entity.SysUserEntity; import com.kmall.admin.haikong.vo.QueryGoodsVO; import com.kmall.api.entity.exportpdf.PDFGoodsDto; import java.util.List; import java.util.Map; /** * Service接口 * * @author Scott * @email * @date 2017-08-21 21:19:49 */ public interface GoodsService { /** * 根据主键查询实体 * * @param id 主键 * @return 实体 */ GoodsEntity queryObject(Integer id); GoodsEntity queryObjectByProdBarcodeAndBizType(String prodBarcode, Integer storeId); GoodsEntity queryObjectByProdBarcodeAndStoreId(String prodBarcode, Integer storeId); /** * 分页查询 * * @param map 参数 * @return list */ List queryList(Map map); List querySame(Map map); /** * 分页统计总数 * * @param map 参数 * @return 总数 */ int queryTotal(Map map); /** * 保存实体 * * @param goods 实体 * @return 保存条数 */ int save(GoodsEntity goods); /** * 根据主键更新实体 * * @param goods 实体 * @return 更新条数 */ int update(GoodsEntity goods); /** * 根据主键删除 * * @param id * @return 删除条数 */ int delete(Integer id); /** * 根据主键批量删除 * * @param ids * @return 删除条数 */ int deleteBatch(Integer[] ids); /** * 商品从回收站恢复 * * @param ids * @return */ int back(Integer[] ids); /** * 上架 * * @param id * @return */ int enSale(Integer id); /** * 上架 * * @param ids * @return */ int enSaleBatch(Integer[] ids); /** * 下架 * * @param id * @return */ int unSale(Integer id); /** * 下架 * * @param ids * @return */ int unSaleBatch(Integer[] ids); /** * 导入商品 * * @param goodsEntityList * @return */ int uploadExcel(List goodsEntityList,int exportDataType); /** * 导入商品(修改库存版) * * @param goodsEntityList * @return */ int uploadExcelByCover(List goodsEntityList,int exportDataType); /** * 条形码查询商品详情 * @param prodBarcode 条形码 * @param storeId * @return */ GoodsDetailsDto queryGoodsDetailsByProdBarcode(String prodBarcode, String storeId,String sku); GoodsPanoramaDto searchGoodsPanoramaDtoByKeyword(String keyword); /** * 查询出要导出的列表 * @param params 查询参数 * @return */ List queryExportList(Map params); /** * 查出pdf需要的需要 * @param sku 商品sku * @param storeId * @param prodBarcode * @return */ PDFGoodsDto queryForPDFData(String sku, String storeId, String prodBarcode); /** * 查询产品价格 * @param prodBarcode * @param storeId * @return */ Map calculateGoodsDetail(String prodBarcode, String storeId,String sku, Integer sellVolume); /** * 根据条形码查询商品 * @param barCode * @return */ GoodsEntity queryByBarcode(String barCode); /** * 根据sku查询商品 * @param sku * @return */ GoodsEntity queryBySku(String sku); void updateForImgUrl(GoodsEntity goodsEntity); /** * 根据商品名称查询商品 * @param storeId * @param goodsName * @return */ List queryByName(String storeId, String goodsName); void updateTaxErrorRecord(TaxErrorRecordEntity taxErrorRecordEntity); void insertTaxErrorRecord(TaxErrorRecordEntity taxErrorRecordEntity); void updateByEntity(GoodsEntity updateGoods); void checkGoodsPrice(SysUserEntity user); List queryAllList(Integer page,Integer pageSize); void syncOmsHsCodeTask(); void syncOmsHsCodeGoode(List skuList); void syncGoodsRateGoode(List skuList); void syncGoodsRateTask(); List> selectSkuDetails(String prodBarcode, String storeId); /** * 批量还原园区库存 * @param goodsEntities 数据 */ int restoreBatch(List goodsEntities); /** * 查询库存及sku的信息,查询出来的库存是门店的库存 * @param prodBarcode 条码 * @param storeId 门店id * @param sku sku * @return 商品信息 */ GoodsEntity queryGoodsStockByBarcodeAndStoreIdAndSku(String prodBarcode, Integer storeId, String sku); /** * 查询库存及sku的信息,查询出来的库存是门店的库存 * @param queryGoodsVOList 查询条件,包含商品条码、sku、门店id * @return 商品信息 */ List queryGoodsStockByQueryGoodsVoList(List queryGoodsVOList); /** * 根据产品条码和sku查询保税展示补货的商品 * @param prodBarcode 商品条码 * @param sku sku * @return 商品信息 */ GoodsEntity queryGoodsInfoByProductBarcodeAndSku(String prodBarcode, String sku); /** * 更新园区库存 * @param goodsEntity 商品实体 * @return 更新数 */ int updateStockNumberByProductCodeAndSku(GoodsEntity goodsEntity); void validateWarehouseStock(GoodsDetailsDto goods, String prodBarcode, String sku, String storeId); /** * 出库单更新库存(扣减) * @param outboundList 出库sku */ void updateStockNumberByOutbound(List outboundList); /** * 入库单更新库存(增加) * @param storageList 入库sku */ void updateStockNumberByStorage(List storageList); }