package com.lightinit.hsdataportal.mapper;

import com.lightinit.hsdataportal.entity.Order;
import com.lightinit.hsdataportal.entity.OrderExample;

import java.util.Date;
import java.util.List;

import com.lightinit.hsdataportal.model.OrderListModel;
import com.lightinit.hsdataportal.model.OrderSearchModel;
import org.apache.ibatis.annotations.Param;

public interface OrderMapper {
    long countByExample(OrderExample example);

    int deleteByExample(OrderExample example);

    int deleteByPrimaryKey(Long id);

    int insert(Order record);

    int insertSelective(Order record);

    List<Order> selectByExampleWithBLOBs(OrderExample example);

    List<Order> selectByExample(OrderExample example);

    Order selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByExampleWithBLOBs(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByExample(@Param("record") Order record, @Param("example") OrderExample example);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKeyWithBLOBs(Order record);

    int updateByPrimaryKey(Order record);

    List<OrderListModel> queryMyOrder(OrderSearchModel orderSearchModel);

    long queryMyOrderCount(OrderSearchModel orderSearchModel);

    int isOrderGoodsCount(@Param("userId") Long userId,@Param("settingId") Long settingId,@Param("platformType") String platformType);

    Date isOrderGoodsGuoQiTime(@Param("userId") Long userId,@Param("settingId") Long settingId,@Param("platformType") String platformType);

    Order selectBusinessType(@Param("orderNumber")String orderNumber);
}