package com.zm.order.tool.server.dao;

import com.zm.order.tool.server.model.OrderIndex;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author penghui
 */
@Repository
public interface OrderIndexDao {



    /**
     * 查询记录
     *
     * @param orderNo 订单号
     * @return
     */
    OrderIndex selectOne(@Param("orderNo") String orderNo);






    /**
     * 查询记录
     *
     * @param orderNoList
     * @return
     */
    List<OrderIndex> selectList(@Param("orderNoList") List<String> orderNoList);



    /**
     * 插入记录
     *
     * @param record
     * @return
     */
    int insert(OrderIndex record);

    /**
     * 批量插入记录
     *
     * @param list
     * @return
     */
    int insertList(List<OrderIndex> list);


    /**
     * 修改订单
     *
     * @param orderIndex
     * @return
     */
    int update(OrderIndex orderIndex);

    /**
     * 修改订单
     *
     * @param bizType
     * @param bizType
     * @return
     */
    int updateBizType(@Param("bizType") Integer bizType,
                      @Param("orderNo") String orderNo);

    /**
     * 修改订单
     *
     * @param bizType
     * @param bizType
     * @return
     */
    int updateBiz(@Param("bizType") Integer bizType,
                      @Param("orderNoList") List<String> orderNoList);

    /**
     * 删除
     * @param orderNo
     * @param id
     * @return
     */
    int delete(@Param("orderNo") String orderNo,
               @Param("id") Long id);

    int realDeleteByOrderNoUserId(@Param("orderNoList") List<String> orderNoList,
                                  @Param("userIdList") List<Long> userIdList);

    int updateSellerUser(
            @Param("oldUserId") Long oldUserId,
            @Param("newUserId") Long newUserId,
            @Param("orderNo") String orderNo);
}
