package com.yd.dal.mapper.order;

import com.yd.dal.entity.order.CustomerPolicyInfo;import com.yd.dal.entity.order.PoOrder;import com.yd.dal.entity.order.PolicyDetailInfoE;import com.yd.dal.entity.order.PolicyFactorInfoE;import org.apache.ibatis.annotations.Param;import java.util.List;

public interface PoOrderMapper {
    int deleteByPrimaryKey(Long id);

    int insert(PoOrder record);

    int insertSelective(PoOrder record);

    PoOrder selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(PoOrder record);

    int updateByPrimaryKey(PoOrder record);

    List<PoOrder> findByStatusAndShareCodeInGroupByCustomerId(@Param("status") int status, @Param("customerShareCodes") List<String> customerShareCodes);

    List<CustomerPolicyInfo> findPolicyInfoByCustomerId(@Param("customerId") Long customerId, @Param("time") Integer time);

    List<CustomerPolicyInfo> findLifePolicyInfoByCustomerId(@Param("customerId") Long customerId, @Param("time") Integer time);

    List<CustomerPolicyInfo> findPolicyInfoByMobileNoE(@Param("mobileNo") String mobileNo, @Param("time") Integer time);

    String findOrderNoByPolicyNo(@Param("policyNo") String policyNo);

    List<PolicyDetailInfoE> findPolicyDetailsInfoByOrderNoE(@Param("orderNo") String orderNo);

    List<PolicyFactorInfoE> findPolicyFactorByOrderNosE(@Param("orderNoList") List<String> orderNoList);

    PoOrder findByIdAndStatus(@Param("id")Long orderId, @Param("status")int status);

    List<PoOrder> findByIds(List<Long> orderIds);

    List<PoOrder> findByPolicyNo(@Param("policyNo") String policyNo);

    List<Long> findVehiclePolicyInfoByCustomerId(Long customerId);
}