package com.younike.system.service;

import com.younike.system.domain.GoodsServerDimension;
import com.younike.system.domain.vo.GoodsServerDimensionVo;

import java.util.List;

/**
 * 商品服务评价统计Service接口
 * 
 * @author elev
 * @date 2022-01-07
 */
public interface IGoodsServerDimensionService {
    /**
     * 查询商品服务评价统计
     * 
     * @param id 商品服务评价统计主键
     * @return 商品服务评价统计
     */
    GoodsServerDimension selectGoodsServerDimensionById(Long id);

    /**
     * 查询商品服务评价统计列表
     * 
     * @param goodsServerDimension 商品服务评价统计
     * @return 商品服务评价统计集合
     */
    List<GoodsServerDimension> selectGoodsServerDimensionList(GoodsServerDimension goodsServerDimension);

    /**
     * 新增商品服务评价统计
     * 
     * @param goodsServerDimension 商品服务评价统计
     * @return 结果
     */
    int insertGoodsServerDimension(GoodsServerDimension goodsServerDimension);

    /**
     * 修改商品服务评价统计
     * 
     * @param goodsServerDimension 商品服务评价统计
     * @return 结果
     */
    int updateGoodsServerDimension(GoodsServerDimension goodsServerDimension);

    /**
     * 批量删除商品服务评价统计
     * 
     * @param ids 需要删除的商品服务评价统计主键集合
     * @return 结果
     */
    int deleteGoodsServerDimensionByIds(Long[] ids);

    /**
     * 删除商品服务评价统计信息
     * 
     * @param id 商品服务评价统计主键
     * @return 结果
     */
    int deleteGoodsServerDimensionById(Long id);

    /**
     * @param serverId 服务人员ID
     * @param goodsId 商品服务ID
     */
    List<GoodsServerDimension>  selectGoodsServerDimensionByServerIdAndGoodsId(Long serverId, Long goodsId);

    /**
     * 批量更新
     */
    void updateGoodsServerDimensions(List<GoodsServerDimension> goodsServerDimensions);

    /**
     * 批量删除
     */
    void removeGoodsServerDimensions(List<GoodsServerDimension> goodsServerDimensions);

    /**
     * 批量新增
     */
    void insertGoodsServerDimensions(List<GoodsServerDimension> goodsServerDimensions);

    /**
     * 根据商品id和服务人员id查询商品服务人员评价维度列表
     *
     * @param serverId
     * @param goodsId
     * @return
     */
    List<GoodsServerDimensionVo> listByServerIdAndGoodsId(Long serverId, Long goodsId);
}
