IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 数字货币交易所--数字货币交易所系统开发源码分享 -> 正文阅读

[区块链]数字货币交易所--数字货币交易所系统开发源码分享

数字货币交易所开发源码分享:

<?php

/**
 * Created by PhpStorm.
 * User: swl
 * Date: 2018/7/3
 * Time: 10:23
 */

namespace App;


use Illuminate\Database\Eloquent\Model;

class Transaction extends Model
{
    protected $table = 'transaction';
    public $timestamps = false;
    const CREATED_AT = 'time';
    protected $appends = [
        'from_address',
        'to_address',
        'from_account',
        'to_account',
        'total',
        'currency_name'
    ];

    public static function createData($data)
    {
        if (empty($data)) {
            return false;
        }
        if (empty($data["from_user_id"]) || empty($data["to_user_id"]) || empty($data["number"])) {
            return false;
        }

        $transaction = new self();
        $transaction->from_user_id = $data["from_user_id"];
        $transaction->to_user_id = $data["to_user_id"];
        $transaction->type = empty($data["type"]) ? 1 : $data["type"];
        $transaction->number = $data["number"];
        $transaction->remarks = $data["remarks"];
        $transaction->time = time();
        $transaction->status = 1;

        if ($transaction->save()) {
            return true;
        } else {
            return false;
        }
    }

    public static function pushNews($currency_id, $legal_id)
    {
        $in = TransactionIn::with(['legalcoin', 'currencycoin'])
            ->where("number", ">", 0)
            ->where("currency", $currency_id)
            ->where("legal", $legal_id)
            ->groupBy('currency', 'legal', 'price')
            ->orderBy('price', 'desc')
            ->select([
                'currency',
                'legal',
                'price',
            ])->selectRaw('sum(`number`) as `number`')
            ->limit(5)
            ->get()
            ->toArray();
        $out = TransactionOut::with(['legalcoin', 'currencycoin'])
            ->where("number", ">", 0)
            ->where("currency", $currency_id)
            ->where("legal", $legal_id)
            ->groupBy('currency', 'legal', 'price')
            ->orderBy('price', 'asc')
            ->select([
                'currency',
                'legal',
                'price',
            ])->selectRaw('sum(`number`) as `number`')
            ->limit(5)
            ->get()
            ->toArray();

        krsort($out);
        $out_data = array();
        foreach ($out as $o) {
            array_push($out_data, $o);
        }

        $last_price = 0;
        $last = TransactionComplete::orderBy('id', 'desc')->where("currency", $currency_id)->where("legal", $legal_id)->first();
        if (!empty($last)) {
            $last_price = $last->price;
        }

        $send = array(
            "type" => "transaction",
            "in" => json_encode($in),
            "out" => json_encode($out_data),
            "last_price" => $last_price,
            "currency_id" => $currency_id,
            "legal_id" => $legal_id
        );
        return UserChat::sendChat($send);
    }

    public function getFromAddressAttribute()
    {
        return $this->hasOne('App\UsersWallet', 'user_id', 'from_user_id')->value('address');
    }
    public function getToAddressAttribute()
    {
        return $this->hasOne('App\UsersWallet', 'user_id', 'to_user_id')->value('address');
    }
    public function getFromAccountAttribute()
    {
        return $this->hasOne('App\Users', 'id', 'from_user_id')->value('account_number');
    }
    public function getToAccountAttribute()
    {
        return $this->hasOne('App\Users', 'id', 'to_user_id')->value('account_number');
    }
    public function getTimeAttribute()
    {
        $value = $this->attributes['time'];
        return $value ? date('Y-m-d H:i:s', $value) : '';
    }
    public function getCurrencyNameAttribute()
    {
        return $this->hasOne('App\Currency', 'id', 'currency')->value('name');
    }
    
   //获取交易总额
    public function getTotalAttribute()
    {
        $number = $this->attributes['number'];
        $price = $this->attributes['price'];
        $tol = $number * $price;
        return $tol;
    }
}

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章           查看所有文章
加:2021-11-25 08:10:19  更:2021-11-25 08:10:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:51:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码