package com.kmall.schedule.dao;

import com.kmall.manager.entity.pay.TemplateConfVo;
import com.kmall.schedule.entity.MngChangeJobEntity;
import com.kmall.schedule.entity.StoreMngChangeJobEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @author zhouzhengde(CN)
 * @date 2017/12/4.
 */
@Component
public interface QzOrderMapper {
    /**
     * 查询未评价
     *
     * @return
     */
    List<Map> queryrderUnEvaluateList();

    /**
     * 查询过期订单
     *
     * @return
     */
    List<Map> queryPastOrderList();

    /**
     * 更新过期订单
     *
     * @return
     */
    void unpayPastUpdate();

    void updateStockNum(Map param);

    void updateGoodsStockNum(Map param);

    void saveStoreMngChange(StoreMngChangeJobEntity param);

    void saveMngChange(MngChangeJobEntity param);

    List<Map> queryRefundOrderList();

    void updateOrderRefund(Map param);

    void updateOrderInfo(Map param);

    void updateOrderProcessRecord(Map param);

    List<Map> queryPayingOrderList();

    List<Map> queryShipmentOrderList();

    List<Map> queryShipmentBondedOrderList();

    void updateShipmentOrder(Map param);

    List<Map> queryReceiptOrderList();

    void insertComment(Map param);

    void updateReceiptOrderByCommentCount();

    int insertPinganResponseDto(Map fromObject);

    Map queryOrder(String orderSn);

    List<Map> queryWXPaySuccessRecords(String orderSn);

    int updatePayOrderByOutNo(Map fromObject);

    List<Map> queryPinganPayingOrderList();

    List<Map> queryReceiptOrderByDistList();

    Map queryThirdMerchantBySn(@Param("thirdMerchSn") Integer thirdMerchSn);

    Map queryMkDistHierById(Map fromObject);

    void updateOrderGoodsIsScan(Map fromObject);

    Map queryUserCouponByOrderId(@Param("orderId") Long orderId);

    void cancelUserCouponOrder(Map fromObject);

    Map queryUserCampByOrderId(@Param("orderId") Long orderId);

    void cancelUserCampOrder(Map fromObject);

    List<Map> queryOrderIdByOrderGoodsList();

    Map queryOrderCountByIdAndPayStatus(@Param("storeRelaId") Integer storeRelaId);

    List<Map> queryGoodsListByIsShareStock();

    List<Map> queryStoreRelaListByGoodsId(@Param("goodsId") Integer goodsId);

    void updateByGoodsShareStock(Map map);

    TemplateConfVo queryByTypeId(Integer templateType);

    List<Map> unPayAndFaceSuccessOrderList();

    int updateOrderByTempNoti(Map fromObject);

    List<Map> queryOrderGoodsByOrderId(@Param("orderId") Long orderId);
}
