package cn.cslg.pas.service;

import cn.cslg.pas.common.JsonPage;
import cn.cslg.pas.common.model.dto.ProductAddNewDTO;
import cn.cslg.pas.common.model.dto.ProductQueryPageDTO;
import cn.cslg.pas.common.model.dto.ProductUpdateDTO;
import cn.cslg.pas.domain.Project;
import cn.cslg.pas.mapper.ProjectMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 产品的Service层接口
 *
 * @Author chenyu
 * @Date 2023/3/8
 */
public interface IProductService {
    /**
     * 新增产品
     *
     * @param productAddNewDTO 新增产品的DTO对象
     * @param files            产品图片
     */
    @Transactional
    void addNew(ProductAddNewDTO productAddNewDTO, List<MultipartFile> files);

    /**
     * 修改产品
     *
     * @param productUpdateDTO 修改产品的DTO对象
     * @param files            产品图片
     */
    @Transactional
    void update(ProductUpdateDTO productUpdateDTO, List<MultipartFile> files);

    /**
     * 分页查询产品
     *
     * @param productQueryPageDTO 分页信息
     * @return 返回查询到的数据
     */
    JsonPage query(ProductQueryPageDTO productQueryPageDTO);

    /**
     * 删除产品
     *
     * @param id 产品id
     */
    @Transactional
    void delete(Integer id);

}
