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


import com.tmerclub.cloud.order.dto.multishop.OrderRefundDTO;
import com.moyuer.cloud.systemtest.api.store.ShopRefundAddrApi;
import com.moyuer.cloud.systemtest.data.store.ShopRefundAddrDtoData;

/**
 * @author Tu
 */
public class ShopOrderRefundDtoData {
    /**
     * 拒绝退款
     * **/
    public static OrderRefundDTO getRufuseOrderRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(3);
        orderRefundDTO.setRejectMessage("自动化测试拒绝退款");
        orderRefundDTO.setSupplierHandleStatus(-1);
        return orderRefundDTO;
    }

    /**
     * 退货退款第一次同意
     * **/
    public static OrderRefundDTO getReceiveRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(2);
        orderRefundDTO.setSupplierHandleStatus(-1);
        if (ShopRefundAddrApi.listShopRefundAddr().isEmpty()){
            orderRefundDTO.setShopRefundAddrId(ShopRefundAddrApi.addShopRefundAddr(ShopRefundAddrDtoData.getShopRefundAddrDTO()));
        }else {
            orderRefundDTO.setShopRefundAddrId(ShopRefundAddrApi.listShopRefundAddr().get(0).getShopRefundAddrId());
        }

        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(-1);
        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;
    }

    public static OrderRefundDTO getSupplierRefundDTO(Long refundId){
        OrderRefundDTO orderRefundDTO = new OrderRefundDTO();
        orderRefundDTO.setRefundId(refundId);
        orderRefundDTO.setRefundSts(4);
        orderRefundDTO.setRejectMessage("转移供应商处理");
        orderRefundDTO.setSupplierHandleStatus(0);
        orderRefundDTO.setIsReceived(false);
        return orderRefundDTO;
    }
}
