package cn.cslg.pas.service;

import cn.cslg.pas.common.JsonPage;
import cn.cslg.pas.common.model.dto.*;
import cn.cslg.pas.common.model.vo.ProductMarketDataTrendVO;
import cn.cslg.pas.domain.ProductMarketData;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 产品营销数据的Service层接口
 *
 * @Author chenyu
 * @Date 2023/3/9
 */
public interface IProductMarketDataService extends IService<ProductMarketData> {
    /**
     * 新增产品营销数据
     *
     * @param productMarketDataAddNewDTO 产品营销数据DTO对象
     */
    @Transactional
    void addNew(ProductMarketDataAddNewDTO productMarketDataAddNewDTO);

    /**
     * 修改产品营销数据
     *
     * @param productMarketDataUpdateDTO 产品营销数据DTO对象
     */
    @Transactional
    void update(ProductMarketDataUpdateDTO productMarketDataUpdateDTO);

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

    /**
     * 删除产品营销数据
     *
     * @param id 产品营销数据id
     */
    void delete(Integer id);

    /**
     * 查询产品营销数据趋势图
     *
     * @param dto
     * @return 返回查询的数据
     */
    @Transactional
    List<ProductMarketDataTrendVO> showTrend(ProductMarketDataDTO dto);

    /**
     * 根据productId查询productName
     *
     * @param productId 产品id
     * @return productName
     */
    String queryNameByProductId(Integer productId);


}
