package com.muchinfo.mtp3century.service;

import com.muchinfo.mtp3century.utils.AjaxResult;
import com.muchinfo.mtp3common.vo.PageResult;
import com.muchinfo.mtp3pojos.entity.Market;
import com.muchinfo.mtp3pojos.entity.Marketrunstepdetail;
import com.muchinfo.mtp3pojos.entity.Riskratiotype;
import com.muchinfo.mtp3pojos.vo.tradingmarket.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface ITradingWarehouseSetService {
    PageResult<SpotFulfillmentResult> querySpotFulfillment(Integer pageNum, Integer pageSize, HttpServletRequest request, Integer type);

    AjaxResult<SpotFulfillmentViewResult> spotFulfillmentView(Long autoid, HttpServletRequest request);

    AjaxResult spotFulfillmentDel(SpotFulfillmentDelParam param, HttpServletRequest request);

    AjaxResult<Market> marketrunsectiion(HttpServletRequest request);

    PageResult<MarketRunSectiionResult> querymarketrunsectiion(Integer pageNum, Integer pageSize, Integer trademarkettype, HttpServletRequest request);

    AjaxResult<Map<Integer, List<Marketrunstepdetail>>> queryMarketRunSectiionById(Long markerid, HttpServletRequest request);

    AjaxResult marketRunSectiionCopy(HttpServletRequest request, Long source, Long target);

    AjaxResult editSave(HttpServletRequest request, MarketRunSectiionParam param);

    PageResult<MarketCalendarResult> queryMarketCalendar(Integer pageNum, Integer pageSize, HttpServletRequest request, String marketName, Integer trademarkettype);

    AjaxResult updateSave(HttpServletRequest request, MarketCalendarDelParam param);

    AjaxResult<MarketCalendarDetailResult> queryMarketCalendarDetail(Long markerid, String year, HttpServletRequest request);

    AjaxResult marketCalendarAdd(HttpServletRequest request, MarketCalendarAddParam param);

    PageResult<MarketManageResult> querymarketmanage(MarketManageParam param, HttpServletRequest request);

    AjaxResult<MarketManageDetailResult> marketmanagedetail(Long marketid, HttpServletRequest request);

    AjaxResult deletemarketmanage(Long marketid, HttpServletRequest request);

    AjaxResult<AreaRoleInitResult> areaRoleInit(Long marketid, HttpServletRequest request);

    AjaxResult saveMemberRight(HttpServletRequest request, AreaRoleInitResult param);

    PageResult<Riskratiotype> queryRiskRatio(Integer pageNum, Integer pageSize, HttpServletRequest request);

    AjaxResult<RiskRatioDetailResult> riskRatiodetail(Integer customertype, Integer riskcontrolmode, HttpServletRequest request);

    AjaxResult riskRatioUpdate(HttpServletRequest request, Riskratiotype param);

    AjaxResult<RiskRatioAddInitResult> riskRatioAddInit(HttpServletRequest request);

    AjaxResult riskRatioAdd(HttpServletRequest request, Riskratiotype param);

}
