package org.dromara.system.service;

import org.dromara.system.domain.UserTransferDTO;


import java.math.BigDecimal;

/**
 * 用户资金转移服务
 */
public interface IUserTransferService {

    /**
     * 从余额转到冻结资金
     * @param fromUserId 转出用户ID
     * @param toUserId 转入用户ID
     * @param amount 金额（分）
     * @return 是否成功
     */
    boolean transferBalanceToFreeze(Long fromUserId, Long toUserId, Long amount);

    /**
     * 从冻结资金转到余额
     * @param fromUserId 转出用户ID
     * @param toUserId 转入用户ID
     * @param amount 金额（分）
     * @return 是否成功
     */
    boolean transferFreezeToBalance(Long fromUserId, Long toUserId, Long amount);

    /**
     * 修改用户余额
     *
     * @param userId  用户ID
     * @param balance 金额
     * @return 影响行数
     */
    int updateBalance(Long userId, Long balance);

}