package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.dto.WxOrderReportDto;
import com.iformall.domain.po.WxOrder;
import com.iformall.domain.vo.*;

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

public interface WxOrderMapper extends CommonMapper<WxOrder, Long> {

	List<WxOrder> findList(WxOrder wxOrder);

	Integer countList(WxOrder wxOrder);
	int countCouponConditionType1(WxOrder wxOrder);

	List<WxOrder> findListOfUnpaidOrderByDate(Map dateMap);

	List<WxOrder> findListOfUnpaidPressOrderByDate(Map dateMap);
    List<WxOrder> findListOfCompleteUnPaidPressOrderByDate(Map dateMap);

	List<WxOrderCouponVo> findListOfCUser(WxOrder wxOrder);
	WxOrderCouponVo selectDetailOfCUser(WxOrder wxOrder);

	Map dayMicroPayAmountList(Map dateMap);
	List<WxOrderPayVo> findListOfMicroPayOrderByDate(Map dateMap);

	List<MarkingSceneDataVo> queryForSceneRepotyHistory(HashMap<String,Object> params);

	List<WxOrderReportVo> listOrderReportByDate(HashMap<String,Object> params);

	List<WxOrderReportVo> listMicroPayOrderReportByDateAndMerchant(HashMap<String,Object> params);

	List<WxMerchantMicroPayVo> findListOfMerchantMicroPayOrderByDate(WxOrderReportDto wxOrderReportDto);

	List<WxOrder> findListOrder(WxOrderQueryVo record);

	Long queryOrderForMerchantCount(Map<String,Object> params);

	Long queryOrderForSum(Map<String,Object> params);

    Long queryOrderForCount(Map<String, Object> params);

	/**砍价*/
	List<WxOrderCouponPressVo> findListOfPress(WxOrder wxOrder);
	WxOrderCouponPressVo selectDetailOfPress(WxOrder wxOrder);
    void updateStatusByPressCouponId(WxOrder wxOrder);

    void updateStatusByOrderGroupId(WxOrder order);

    void updateOrderGroupStatusByCouponId(WxOrder updateOrder);

    void updateOrderGroupStatusByCouponChannelId(WxOrder updateOrder);

    void updateOrderStatusForGroup();

}
