package com.liquidnet.service.goblin.util;

import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.dto.GoblinGoodsSpecDto;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtThumbVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.liquidnet.service.goblin.entity.GoblinOrderAttr;
import com.liquidnet.service.goblin.entity.GoblinOrderSku;
import com.liquidnet.service.goblin.entity.GoblinStoreOrder;
import com.liquidnet.service.goblin.param.GoblinOrderSqlParam;
import com.mongodb.BasicDBObject;

import java.util.ArrayList;

public class ObjectUtil {
    private static final PagedResult<GoblinStoreMgtGoodsListVo> goblinStoreMgtGoodsVoPagedResult = new PagedResult<>();

    private static final ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList = new ArrayList<>();
    private static final ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfMarketingVo> goblinSelfMarketingVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStoreMgtThumbVo> goblinStoreMgtThumbVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSpecVo> goblinGoodsSpecVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSpecValueVo> goblinGoodsSpecValueVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinServiceSupportVo> goblinServiceSupportVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfTagVo> goblinSelfTagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsTagVo> goblinGoodsTagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfGoodsCategoryVo> goblinSelfGoodsCategoryVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsExtagVo> goblinGoodsExtagVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsSpecDto> goblinGoodsSpecDtoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStorePurchaseSkuVo> goblinStorePurchaseSkuVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinSelfZhengzaiSkuVo> goblinSelfZhengzaiSkuVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinShowStoreInfoVo> goblinShowStoreInfoVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVos = new ArrayList<>();
    private static final ArrayList<GoblinZhengzaiGoodVo> goblinZhengzaiGoodVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinOrderSkuVo> goblinOrderSkuVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinOrderSku> goblinOrderSkuArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStoreOrder> goblinStoreOrderArrayList = new ArrayList<>();
    private static final ArrayList<GoblinOrderAttr> goblinOrderAttrArrayList = new ArrayList<>();
    private static final ArrayList<GoblinOrderSqlParam> goblinOrderSqlParamArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStoreOrderVo> goblinStoreOrderVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinZhengzaiPushVo> goblinZhengzaiPushVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStoreOrderListVo> goblinStoreOrderListVoArrayList = new ArrayList<>();
    private static final ArrayList<GoblinStoreOrderListSkuVo> goblinStoreOrderListSkuVoArrayList = new ArrayList<>();

    private static final BasicDBObject basicDBObject = new BasicDBObject();

    public static PagedResult<GoblinStoreMgtGoodsListVo> getGoblinStoreMgtGoodsVoPagedResult() {
        return goblinStoreMgtGoodsVoPagedResult.clone();
    }

    public static ArrayList<GoblinStoreOrderListSkuVo> getGoblinStoreOrderListSkuVoArrayList() {
        return (ArrayList<GoblinStoreOrderListSkuVo>) goblinStoreOrderListSkuVoArrayList.clone();
    }

    public static ArrayList<GoblinStoreOrderListVo> getGoblinStoreOrderListVoArrayList() {
        return (ArrayList<GoblinStoreOrderListVo>) goblinStoreOrderListVoArrayList.clone();
    }

    public static ArrayList<GoblinZhengzaiPushVo> getGoblinZhengzaiPushVoArrayList() {
        return (ArrayList<GoblinZhengzaiPushVo>) goblinZhengzaiPushVoArrayList.clone();
    }

    public static ArrayList<GoblinStoreOrderVo> getGoblinStoreOrderVoArrayList() {
        return (ArrayList<GoblinStoreOrderVo>) goblinStoreOrderVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsInfoVo> getGoblinGoodsInfoVos() {
        return (ArrayList<GoblinGoodsInfoVo>) goblinGoodsInfoVos.clone();
    }

    public static ArrayList<GoblinOrderSkuVo> getGoblinOrderSkuVoArrayList() {
        return (ArrayList<GoblinOrderSkuVo>) goblinOrderSkuVoArrayList.clone();
    }

    public static ArrayList<GoblinOrderSqlParam> getGoblinOrderSqlParamArrayListList() {
        return (ArrayList<GoblinOrderSqlParam>) goblinOrderSqlParamArrayList.clone();
    }

    public static ArrayList<GoblinOrderSku> getGoblinOrderSkuArrayList() {
        return (ArrayList<GoblinOrderSku>) goblinOrderSkuArrayList.clone();
    }

    public static ArrayList<GoblinOrderAttr> getGoblinOrderAttrArrayList() {
        return (ArrayList<GoblinOrderAttr>) goblinOrderAttrArrayList.clone();
    }

    public static ArrayList<GoblinStoreOrder> getGoblinStoreOrderArrayList() {
        return (ArrayList<GoblinStoreOrder>) goblinStoreOrderArrayList.clone();
    }

    public static ArrayList<GoblinShowStoreInfoVo> getGoblinShowStoreInfoVoArrayList() {
        return (ArrayList<GoblinShowStoreInfoVo>) goblinShowStoreInfoVoArrayList.clone();
    }

    public static ArrayList<GoblinZhengzaiGoodVo> getGoblinZhengzaiGoodVoArrayList() {
        return (ArrayList<GoblinZhengzaiGoodVo>) goblinZhengzaiGoodVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList() {
        return (ArrayList<GoblinGoodsInfoVo>) goblinGoodsInfoVoArrayList.clone();
    }

    public static ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList() {
        return (ArrayList<GoblinFrontBannerVo>) goblinFrontBannerVoArrayList.clone();
    }

    public static ArrayList<GoblinFrontBanner> getGoblinFrontBannerArrayList() {
        return (ArrayList<GoblinFrontBanner>) goblinFrontBannerArrayList.clone();
    }

    public static ArrayList<GoblinSelfMarketingVo> getGoblinSelfMarketingVoList() {
        return (ArrayList<GoblinSelfMarketingVo>) goblinSelfMarketingVoArrayList.clone();
    }

    public static ArrayList<GoblinStoreMgtThumbVo> getGoblinStoreMgtThumbVoArrayList() {
        return (ArrayList<GoblinStoreMgtThumbVo>) goblinStoreMgtThumbVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsSkuInfoVo> getGoblinGoodsSkuInfoVoArrayList() {
        return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsSpecVo> getGoblinGoodsSpecVoArrayList() {
        return (ArrayList<GoblinGoodsSpecVo>) goblinGoodsSpecVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsSpecValueVo> getGoblinGoodsSpecValueVoArrayList() {
        return (ArrayList<GoblinGoodsSpecValueVo>) goblinGoodsSpecValueVoArrayList.clone();
    }

    public static ArrayList<GoblinServiceSupportVo> getGoblinServiceSupportVoArrayList() {
        return (ArrayList<GoblinServiceSupportVo>) goblinServiceSupportVoArrayList.clone();
    }

    public static ArrayList<GoblinSelfTagVo> getGoblinSelfTagVoArrayList() {
        return (ArrayList<GoblinSelfTagVo>) goblinSelfTagVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsTagVo> getGoblinGoodsTagVoArrayList() {
        return (ArrayList<GoblinGoodsTagVo>) goblinGoodsTagVoArrayList.clone();
    }

    public static ArrayList<GoblinSelfGoodsCategoryVo> getGoblinSelfGoodsCategoryVoArrayList() {
        return (ArrayList<GoblinSelfGoodsCategoryVo>) goblinSelfGoodsCategoryVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsExtagVo> getGoblinGoodsExtagVoArrayList() {
        return (ArrayList<GoblinGoodsExtagVo>) goblinGoodsExtagVoArrayList.clone();
    }

    public static ArrayList<GoblinGoodsSpecDto> getGoblinGoodsSpecDtoArrayList() {
        return (ArrayList<GoblinGoodsSpecDto>) goblinGoodsSpecDtoArrayList.clone();
    }

    public static ArrayList<GoblinMarketSpuListVo> getGoblinMarketSpuListVoArrayList() {
        return (ArrayList<GoblinMarketSpuListVo>) goblinMarketSpuListVoArrayList.clone();
    }

    public static ArrayList<GoblinStorePurchaseSkuVo> getGoblinStorePurchaseSkuVoArrayList() {
        return (ArrayList<GoblinStorePurchaseSkuVo>) goblinStorePurchaseSkuVoArrayList.clone();
    }

    public static ArrayList<GoblinSelfZhengzaiSkuVo> getGoblinSelfZhengzaiSkuVoArrayList() {
        return (ArrayList<GoblinSelfZhengzaiSkuVo>) goblinSelfZhengzaiSkuVoArrayList.clone();
    }


    public static BasicDBObject cloneBasicDBObject() {
        return (BasicDBObject) basicDBObject.clone();
    }
}
