package cc.mrbird.febs.dapp.mapper; import cc.mrbird.febs.dapp.entity.DappMemberEntity; import cc.mrbird.febs.dapp.entity.DappWalletCoinEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.List; public interface DappWalletCoinDao extends BaseMapper { DappWalletCoinEntity selectByMemberId(@Param("memberId") Long memberId); IPage selectInPage(@Param("record") DappWalletCoinEntity walletCoin, Page page); int updateWithLock(@Param("record") DappWalletCoinEntity dappWalletCoinEntity); Integer addAvailableAndDelFrozenById(@Param("id") Long id, @Param("balance") BigDecimal balance); Integer addFrozenAndDelAvailableById(@Param("id") Long id, @Param("balance") BigDecimal amount); Integer delTotalAndDelFrozenById(@Param("id") Long id, @Param("balance") BigDecimal amount); Integer addTotalAndaddAvailableById(@Param("id") Long id, @Param("balance") BigDecimal amount); Integer delAvailableDelTotalById(@Param("id") Long id, @Param("balance") BigDecimal amount); DappWalletCoinEntity selectWalletCoinBymIdAndCode(@Param("memberId") Long memberId, @Param("walletCode") String walletCode); int updateFrozenBalance(@Param("memberId") Long memberId, @Param("id") Long id, @Param("amount") BigDecimal amount); int subFrozenBalance(@Param("memberId") Long memberId, @Param("id") Long id, @Param("amount") BigDecimal amount); int updateBlockBalance(@Param("id") Long id, @Param("availableAmount") BigDecimal availableAmount, @Param("earlyAmount") BigDecimal earlyAmount, @Param("blockNumber") Integer blockNumber); int reduceFrozenBalance(@Param("id") Long id, @Param("amount") BigDecimal amount); List selectTotalAmount(); void addTotalAndaddAvailableByMemberId(@Param("memberId")Long id, @Param("balance")BigDecimal multiply); }