/*
 * The Hefei JingTong RDC(Research and Development Centre) Group.
 * __________________
 *
 *    Copyright 2015-2020
 *    All Rights Reserved.
 *
 *    NOTICE:  All information contained herein is, and remains
 *    the property of JingTong Company and its suppliers,
 *    if any.
 */

package com.jwipc.shopping.service;

import com.alibaba.fastjson2.JSONObject;
import com.jwipc.shopping.model.vo.ApplyProductResponse;
import com.jwipc.shopping.model.vo.OnlineShoppingZkhResponse;
import com.jwipc.shopping.model.vo.ShoppingDetailReponse;

/**
 * <p> </p>
 *
 * @author EE
 * @version 1.0
 * @since JDK 1.7
 */
public interface IMiddleWareService {
    /**
     * 请求中间件，访问SAP接口
     * @param queryJsonString 查询json
     * @return
     * @throws Exception
     */
//    String requestMiddleWare(String queryJsonString) throws Exception;

    /**
     * 请求中间件，访问SAP接口, 获取token
     * @param params 查询json
     * @return
     * @throws Exception
     */
    OnlineShoppingZkhResponse requestMiddleWareToken(String tokenJsonString, JSONObject params) throws Exception;

    /**
     * 商城详情接口
     * @param params 查询json
     * @return
     * @throws Exception
     */
    ShoppingDetailReponse findShoppingDetail(String tokenJsonString, JSONObject params) throws Exception;

    /**
     * 商品上架接口
     * @param params 查询json
     * @return
     * @throws Exception
     */
    ApplyProductResponse applyProduct(String tokenJsonString, JSONObject params) throws Exception;

//    /**
//     * 商城单独获取token
//     */
    String requestTokenByPush(String tokenJsonString, String params) throws Exception;
//
//    /**
//     * 请求中间件，访问OA接口
//     * @param queryJsonString 查询json
//     * @return
//     * @throws Exception
//     */
//    String requestMiddleWareForOA(String queryJsonString) throws Exception;
//
//    /**
//     * 请求中间件，访问OA接口，获取流程信息
//     * @param queryJsonString 查询json
//     * @return
//     * @throws Exception
//     */
//    String requestMiddleWareForOAFlow(String queryJsonString) throws Exception;
//
//    /**
//     * 请求中间件，访问OA接口，获取OA表单信息
//     * @param queryJsonString 查询json
//     * @return
//     * @throws Exception
//     */
//    String requestMiddleWareForGetOAInfo(String queryJsonString) throws Exception;
//
//
//    /**
//     * 请求中间件，访问OA接口，获取OA流程审批页面
//     *
//     * @param queryJsonString 查询json
//     * @return 结果
//     * @throws Exception 异常抛出
//     */
//    String requestMiddleWareForGetOAFlowPage(String queryJsonString) throws Exception;
//
//    /**
//     * 请求中间件，访问乐税接口，获取乐税发票
//     *
//     * @param queryJsonString 查询json
//     * @return 结果
//     * @throws Exception 异常抛出
//     */
//    String requestMiddleWareForGetInvoice(String queryJsonString) throws Exception;
//
//    /**
//     * 请求中间件，访问乐税接口，发票状态、凭证回写接口
//     *
//     * @param queryJsonString 查询json
//     * @return 结果
//     * @throws Exception 异常抛出
//     */
//    String requestMiddleWareForAddInvoice(String queryJsonString) throws Exception;
//
//    /**
//     * 请求中间件，单点登录到票夹上传接口
//     *
//     * @param queryJsonString 查询json
//     * @return 结果
//     * @throws Exception 异常抛出
//     */
//    String requestMiddleWareForLoginInvoice(String queryJsonString) throws Exception;
//
//
    /**
     * 请求中间件，推送预订单
     * @param queryJsonString 查询json
     * @return
     * @throws Exception
     */
    String requestMiddleOrder(String queryJsonString, String sourceCode) throws Exception;


    /**
     * 请求中间件，推送确认订单
     * @param queryJsonString 查询json
     * @return
     * @throws Exception
     */
    String requestMiddleConfirmOrder(String queryJsonString, String sourceCode) throws Exception;
    String requestMiddleConfirmOrder1(String token,String queryJsonString, String sourceCode) throws Exception;
    String requestMiddleConfirmOrder2(String token,String queryJsonString, String sourceCode) throws Exception;


    /**
     * 免密登录，震坤行获取产品地址
     * @param queryJsonString 查询json
     * @return
     * @throws Exception
     */
    String requestMiddleProductUrl(String queryJsonString) throws Exception;
    /**
     * 根据震坤行订单号，查询所有发货单明细信息
     * 应用场景
     * @param queryJsonString 查询json
     * @return
     */
    String requestMiddlePackageList(String queryJsonString) throws Exception;
    /**
     * 商城推送消息接口
     * 应用场景
     * @param queryJsonString 查询json
     * @return
     */
    String requestMiddleGetMessage(String queryJsonString) throws Exception;
    /**
     * 商城删除消息接口
     * 应用场景
     * @param queryJsonString 查询json
     * @return
     */
    String requestMiddleDelMessage(String queryJsonString) throws Exception;
    /**
     * 查询发货单物流轨迹信息接口
     * 应用场景
     * @param queryJsonString 查询json
     * @return
     */
    String requestMiddleOrderTrack(String queryJsonString) throws Exception;


    /**
     * 取消订单接口
     * 应用场景
     * @param queryJsonString 查询json
     * @return
     */
    String requestMiddleDelOrder(String queryJsonString) throws Exception;
}
