package com.crm.custom.service;

import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
import com.crm.rely.backend.core.entity.base.SingleLongEntity;
import com.crm.rely.backend.core.exception.ServiceException;
import com.crm.rely.backend.model.dto.golden.goods.GoldenGoodsListDto;
import com.crm.rely.backend.model.entity.custom.info.CustomInfoEntity;
import com.crm.rely.backend.model.entity.golden.goods.GoldenGoodsAddEntity;
import com.crm.rely.backend.model.entity.golden.goods.GoldenGoodsDeleteEntitys;
import com.crm.rely.backend.model.entity.golden.goods.GoldenGoodsSearchEntity;
import com.crm.rely.backend.model.entity.golden.goods.GoldenGoodsUpdateEntity;
import com.crm.rely.backend.model.pojo.table.GoldenGoodsTable;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface GoldenGoodsService {

    ResultWithPagerDto<GoldenGoodsListDto> customPageList(GoldenGoodsSearchEntity entity);

    ResultWithPagerDto<GoldenGoodsListDto> customOrderList(GoldenGoodsSearchEntity entity );

    Map<Long, GoldenGoodsTable> getCustomOrderGoods(List<Long> goodsIds, Long customId) throws ServiceException;

    void add(GoldenGoodsAddEntity entity) throws ServiceException;

    void delete(GoldenGoodsDeleteEntitys entitys) throws ServiceException;

    void update(GoldenGoodsUpdateEntity entity) throws ServiceException;

    ResultWithPagerDto<GoldenGoodsListDto> searchPageList(GoldenGoodsSearchEntity entity) throws ServiceException;

    GoldenGoodsListDto searchSingle(SingleLongEntity entity) throws ServiceException;

    void validated(MultipartFile file) throws ServiceException;

    String uploadFile(MultipartFile file) throws Exception;


}
