package com.tmerclub.cloud.systemtest.data.order;

import com.alibaba.fastjson2.JSON;
import com.tmerclub.cloud.common.order.vo.OrderVO;
import com.tmerclub.cloud.order.dto.multishop.OrderAdminDTO;
import com.tmerclub.cloud.order.dto.multishop.OrderItemDTO;
import com.moyuer.cloud.systemtest.api.order.OrderApi;

import java.util.List;

/**
 * @author Tu
 */
public class OrderAdminDtoData {

    public static OrderAdminDTO getOrderAdminDto(Long orderNum, Long changeAmount, Long freightAmount){
        OrderAdminDTO orderAdminDTO = new OrderAdminDTO();
        orderAdminDTO.setOrderId(orderNum);
        orderAdminDTO.setOrderAddrDTO(OrderAddrDtoData.getOrderAddrDTO(orderNum));
        OrderVO orderVO = OrderApi.infoOrder(orderNum);
        orderAdminDTO.setShopId(orderVO.getShopId());
        orderAdminDTO.setFreightAmount(orderVO.getFreightAmount());

        List<OrderItemDTO> orderItemDTOList = JSON.parseArray(JSON.toJSONString(orderVO.getOrderItems()), OrderItemDTO.class);
        orderItemDTOList.get(0).setChangeAmount(changeAmount);
        orderAdminDTO.setFreightAmount(freightAmount);
        orderAdminDTO.setOrderItems(orderItemDTOList);
        return orderAdminDTO;
    }

    public static OrderAdminDTO getOrderAdminDto(Long orderNum){
        OrderVO orderVO = OrderApi.infoOrder(orderNum);
        OrderAdminDTO orderAdminDTO = getOrderAdminDto(orderNum,5100L,orderVO.getFreightAmount());
        return orderAdminDTO;
    }

    /**
     * 采购订单
     * */
    public static OrderAdminDTO getSourcingOrderAdminDto(Long orderNum){
        OrderAdminDTO orderAdminDTO = new OrderAdminDTO();
        orderAdminDTO.setOrderId(orderNum);
        return orderAdminDTO;
    }
}
