package com.yd.dal.mapper.customer;

import com.yd.api.practitioner.vo.rank.AclCustomerFortuneStatistics;
import com.yd.dal.entity.customer.AclCustomerFortune;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface AclCustomerFortuneMapper {
    int deleteByPrimaryKey(Long id);

    int insert(AclCustomerFortune record);

    int insertSelective(AclCustomerFortune record);

    AclCustomerFortune selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(AclCustomerFortune record);

    int updateByPrimaryKey(AclCustomerFortune record);

    int updateBatch(List<AclCustomerFortune> list);

    int updateBatchSelective(List<AclCustomerFortune> list);

    int batchInsert(@Param("list") List<AclCustomerFortune> list);

    List<AclCustomerFortuneStatistics> findBySubordinateSystemStatistics(@Param("subordinateSystemId") Long subordinateSystemId, @Param("time") Integer time);

    List<AclCustomerFortune> findByIds(Long[] fortuneIds);

    List<AclCustomerFortune> findByWithdrawIds(List<Long> withdrawUpdateIds);

    List<AclCustomerFortune> queryLifeFortuneListByOrderIds(List<Long> orderIds);

    List<AclCustomerFortune> findByOrderId(Long orderId);

    List<AclCustomerFortuneStatistics> findBypractitionerIds(@Param("list")List<Long> practitionerIds, @Param("time")Integer time);

    List<AclCustomerFortuneStatistics> findTargetBypractitionerIds(@Param("list")List<Long> practitionerIds, @Param("time")Integer time);
    
    List<AclCustomerFortune> queryLifeFortuneListByOrderId(Long orderId);

    List<AclCustomerFortune> queryLifeFortuneListByCommissionId(Long commissionId);
    
    List<AclCustomerFortune> queryByPractitionerIdAndPayoutBatchId(AclCustomerFortune aclCustomerFortune);
}