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

import com.tmerclub.cloud.order.dto.multishop.OrderRefundDTO;
import com.moyuer.cloud.systemtest.api.store.ShopRefundAddrApi;
import com.moyuer.cloud.systemtest.api.supplier.SupplierRefundAddrApi;

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

    public static OrderRefundDTO getRufuseOrderRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(3);
        orderRefundDTO.setRejectMessage("自动化测试拒绝退款");
        orderRefundDTO.setSupplierHandleStatus(2);
        return orderRefundDTO;
    }
    /**
     * 接受退货退款申请
     * */
    public static OrderRefundDTO getSupplierReceiveRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(2);
        orderRefundDTO.setSupplierHandleStatus(1);
        if (SupplierRefundAddrApi.listSupplierRefundAddr().isEmpty()){
            orderRefundDTO.setShopRefundAddrId(SupplierRefundAddrApi.addSupplierRefundAddr(SupplierRefundAddrDtoData.getSupplierRefundAddrDTO()));
        }else {
            orderRefundDTO.setShopRefundAddrId(SupplierRefundAddrApi.listSupplierRefundAddr().get(0).getSupplierRefundAddrId());
        }

        return orderRefundDTO;
    }

    public static OrderRefundDTO getRefuseDeliveryRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setIsReceived(true);
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(3);
        orderRefundDTO.setRejectMessage("自动化测试拒绝退货退款");
        orderRefundDTO.setSupplierHandleStatus(2);
        return orderRefundDTO;
    }

    public static OrderRefundDTO getReceiveDeliveryRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setShopRefundAddrId(ShopRefundAddrApi.listShopRefundAddr().get(0).getShopRefundAddrId());
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(2);
        orderRefundDTO.setRejectMessage("自动化测试同意退货退款");
        orderRefundDTO.setSupplierHandleStatus(1);
        orderRefundDTO.setIsReceived(true);
        return orderRefundDTO;
    }
}
