package com.lightinit.hsdataportal.mapper;

import com.lightinit.hsdataportal.entity.UserAccountTransaction;
import com.lightinit.hsdataportal.entity.UserAccountTransactionExample;

import java.math.BigDecimal;
import java.util.List;

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

public interface UserAccountTransactionMapper {
    long countByExample(UserAccountTransactionExample example);

    int deleteByExample(UserAccountTransactionExample example);

    int deleteByPrimaryKey(Long id);

    int insert(UserAccountTransaction record);

    int insertSelective(UserAccountTransaction record);

    List<UserAccountTransaction> selectByExampleWithBLOBs(UserAccountTransactionExample example);

    List<UserAccountTransaction> selectByExample(UserAccountTransactionExample example);

    UserAccountTransaction selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") UserAccountTransaction record, @Param("example") UserAccountTransactionExample example);

    int updateByExampleWithBLOBs(@Param("record") UserAccountTransaction record, @Param("example") UserAccountTransactionExample example);

    int updateByExample(@Param("record") UserAccountTransaction record, @Param("example") UserAccountTransactionExample example);

    int updateByPrimaryKeySelective(UserAccountTransaction record);

    int updateByPrimaryKeyWithBLOBs(UserAccountTransaction record);

    int updateByPrimaryKey(UserAccountTransaction record);

    List<MyAccountManageRechargeVOModel> queryRechargeList(@Param("userId") Long userId, @Param("recharge") String recharge);

    List<MyAccountManageRechargeVOModel> queryTransactionList(@Param("userId")Long userId, @Param("recharge")String recharge);

    BigDecimal getMyBalance(@Param("userId") Long userId);
}