mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-24 13:45:44 +08:00
区块链确权相关
This commit is contained in:
36
app/services/blockchain/transfer_service.rb
Normal file
36
app/services/blockchain/transfer_service.rb
Normal file
@@ -0,0 +1,36 @@
|
||||
class Blockchain::TransferService < ApplicationService
|
||||
|
||||
attr_reader :params
|
||||
|
||||
def initialize(params)
|
||||
@params = params
|
||||
end
|
||||
|
||||
def call
|
||||
ActiveRecord::Base.transaction do
|
||||
transfer_amount = params['transfer_amount']
|
||||
if (Float(transfer_amount) rescue false) == false or transfer_amount.to_i < 0 or Float(transfer_amount) != transfer_amount.to_i
|
||||
raise Error, "请输入正确的转账金额"
|
||||
end
|
||||
transfer_amount = params['transfer_amount'].to_i
|
||||
transfer_login = params['transfer_login']
|
||||
payer = params['payer_id'].to_s
|
||||
payee = User.find_by(login: transfer_login)
|
||||
if payee.nil?
|
||||
raise Error, "未找到接收转账的用户"
|
||||
else
|
||||
payee = payee.id.to_s
|
||||
token_name = params['project_id'].to_s
|
||||
# 调用token转移函数
|
||||
transfer_balance_on_blockchain(payer, payee, token_name, transfer_amount)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def no_use
|
||||
puts "this function does not have any usage"
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user