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

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

import java.util.List;

/**
 * @Author 陈标
 * @Date 2020/3/25 14:58
 */
@Repository
public interface NewHintOrderItemDao {

    /**
     * 扫描
     *
     * @param orderNoList
     * @return
     */
    List<OrderItem> list(@Param("orderNoList") List<String> orderNoList);

    List<OrderItem> selectListById(List<Long> list);

    /**
     * 修改订单商品
     *
     * @param orderItem
     * @return
     */
    int update(OrderItem orderItem);

    int count();

    int replaceList(@Param("itemList") List<OrderItem> itemList);

    /**
     * 批量更新商品类型
     * @param list
     * @return
     * Date: 2021/5/19 4:11 下午
     */
    int updateItemType(List<OrderItem> list);

    /**
     * 批量设置bizType = 1
     * @param list
     * @return
     * Date: 2021/5/25 3:58 下午
     */
    int updateBizTypeRollBack(List<OrderItem> list);

    /**
     * 更新订单删除字段
     *
     * @param orderNoList
     * @return
     */
    int updateDeleted(@Param("orderNoList") List<String> orderNoList);

    /**
     * 更新用户ID
     *
     * @param orderNo
     * @param userId
     * @return
     */
    int updateUserId(@Param("userId") Long userId, @Param("orderNo") String orderNo);

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

    /**
     * 批量删除
     * @param orderNoList
     * @return:
     * @Date: 2020/12/17 2:38 PM
     */
    void physicalDeleted(@Param("orderNoList") List<String> orderNoList);

    /**
     * 更新商品类型
     * @date 2021/9/3 17:55
     * @param orderItemIdList
     * @param itemType
     * @return int
     **/
    int updateItemTypeByIds(List<Long> orderItemIdList, Integer itemType);

}
