package com.jwipc.shopping.service;

import com.jwipc.shopping.entity.ShoppingCart;
import com.jwipc.shopping.entity.ShoppingCartInfo;
import com.jwipc.shopping.model.query.OnlineMallCommodityQuery;
import com.jwipc.shopping.model.query.ShoppingDetailQuery;
import com.jwipc.shopping.model.vo.*;

import java.util.List;

/**
 * <p>
 *     在线商城 接口类
 * </p>
 *
 * @author li.kui
 * @version 1.0
 * @since 2021/1/3
 */
public interface IOnlineMallService {


    /**
     * 获取在线商城商品信息
     *
     * @param query 查询条件
     * @return 结果
     */
//    OnlineMallResponse.DataBean findOnlineMallCommodity(OnlineMallCommodityQuery query);


    /**
     * 获取在线商城商品信息
     *
     * @param query 查询条件
     * @return 结果
     */
    OnlineShoppingZkhResponse findOnlineMallCommodity1(OnlineMallCommodityQuery query);

    /**
     * 获取在线商城商品详细信息
     *
     * @param query 查询条件
     * @return 结果
     */
    ShoppingDetailReponse findShoppingDetail(ShoppingDetailQuery query);


    /**
     * 商品上架-震坤行
     *
     * @return 结果
     */
    ApplyProductResponse applyProduct(String skuNo);




    /**
     * 添加商城购物车功能-科力普
     *
     * @param params 购物车商品信息
     * @param userCode 当前操作人
     * @return 结果
     */
//    OnlineMallResponse pushMallShoppingCartKlp(OnlineMallScKlpDto params, String userCode);


    /**
     * 添加商城购物车功能-西域
     *
     * @param params 购物车商品信息
     * @param userCode 当前操作人
     * @return 结果
     */
//    OnlineMallResponse pushMallShoppingCartXy(OnlineMallScXyDto params, String userCode);


    /**
     * 添加商城购物车功能-西域
     *
     * @param params 购物车商品信息
     * @param userCode 当前操作人
     * @return 结果
     */
    OnlineMallResponse pushShoppingCartXy(ShoppingCart cart, OnlineShoppingXyDto params, String userCode, List<ShoppingCartInfo> scList);


    /**
     * 订单推送OA审批
     *
     * @param id 推送OA审批的采购订单主表ID
     * @param user 当前操作用户
     */
//    List<String> pushPoToOa(Long id, ShiroUser user);


    /**
     * 获取商城token
     *
     * @param source 查询条件
     * @return 结果
     */
    String findTokenByCart(String source);


    /**
     * 确认商城订单
     *
     * @param id 购物订单ID
     * @return 结果 6:商城订单确认成功 7:商城订单确认失败 9:商城订单确认成功但生成SRM订单失败
     */
    Integer confirmMallOrder(Long id);


    /**
     * OA推送变更状态
     *
     * @param oaNumber OA流程ID
     * @param oaStatus oa流程状态 1-通过 2-拒绝
     */
//    void oaPushFlowStatus(String oaNumber, String oaStatus);


    /**
     * 生成SRM费用采购订单
     *
     * @param id 商城订单ID
     */
//    void genSrmPo(Long id);


    /**
     * 添加商城购物车功能-震坤行
     *
     * @param params 购物车商品信息
     * @return 结果
     */
    OnlineMallResponse pushShoppingCartZkh(ShoppingCart cart, OnlineShoppingZkhDto params, List<ShoppingCartInfo> scList);


    /**
     * 震坤行免密登录获取url
     *
     * @param productDescUrl 产品地址
     */
    String getProductUrlByZkh(String productDescUrl);

    OrderTrackResponse   requestMiddleOrderTrack(String packageId);

    String confirmMallOrder2(Long id);

//    DelOrderResponse delOrder(Long id,String orderId);
}
