
package com.tmerclub.cloud.api.order.feign;

import com.tmerclub.cloud.common.order.vo.OrderItemLangVO;
import com.tmerclub.cloud.common.order.vo.OrderItemVO;
import com.tmerclub.cloud.common.response.ServerResponseEntity;

import java.util.List;

/**
 * @author tmerclub
 * @date 2020/11/23
 */
public interface OrderCommFeignClient {

    /**
     * 根据orderItemId，获取评论地订单项对应的spuId
     *
     * @param orderItemId 订单项id列表
     * @return spuId
     */
    ServerResponseEntity<Long> getSpuIdByOrderItemId(Long orderItemId);

    /**
     * 更新订单项评论状态
     *
     * @param orderItemVO 订单项id列表
     * @return spuId
     */
    void updateOrderItemComm(OrderItemVO orderItemVO);

    /**
     * 批量更新订单项评论状态
     * @param orderItemVOList
     */
    void updateOrderItemComms(List<OrderItemVO> orderItemVOList);

    /**
     * 根据订单项id获取订单项信息
     * @param orderItemId
     * @return
     */
    ServerResponseEntity<OrderItemVO> getOrderItemByOrderItemId(Long orderItemId);

    /**
     * 根据订单项id获取订单项详情
     * @param orderItemId
     * @return
     */
    ServerResponseEntity<OrderItemVO> getByOrderItemId(Long orderItemId);

    /**
     * 根据订单项id列表获取订单项国际化信息列表
     * @param orderItemIds
     * @return
     */
    ServerResponseEntity<List<OrderItemLangVO>> listOrderItemLangByIds(List<Long> orderItemIds);

    /**
     * 根据订单项id列表获取订单项信息
     * @param orderItemIds
     * @param lang
     * @return
     */
    ServerResponseEntity<List<OrderItemVO>> getListByOrderItemId(List<Long> orderItemIds, Integer lang);
}
