新浪騰訊股票接口實現股票價格實時刷新php+ajax+js

可封裝APP

程序源碼   供大家學習使用  

技術交流、支持 演示網址  http://117.48.206.60:9902

附上PHP版的demo

class Agent extends Admin{

    //模擬盤統計

    public function index(){

        cookie('__forward__', $_SERVER['REQUEST_URI']);

        // 獲取查詢條件

        $map = $this->getMap();

        $order = $this->getOrder();

        $data_list = Db::name('member')

            ->where($map)

            ->where('agent_id <>0')

            ->order($order)

            ->paginate()

            ->each(function($item, $key){

                $info = get_agents_info($item['agent_far']);

                $item['agent_far_name'] = $info['mobile'] ?  $info['mobile'] : config('web_site_title');

                $count = Db::name('agents_back_money')->where(['mid'=>$item['id']])->sum('affect');

                $item['count_profit'] = round($count,2);

                $item['agent_back_rate'] = get_plus_rate($item['id']).'%';

                return $item;

            });

1、投資策略匹配資金倍數靈活可選 

按天配資

按周配資

按月配資

免息配資

 

2、T+1/d交易、線上入金、實時開戶實盤交易

3、自動計算利息/收取利息、自動結算、提現申請

4、T日買入T+1日賣出,只在買入時收取買入市值的綜合手續費。T+1日未賣出,每交易日自動收取下一交易日延期費,實時盈虧後臺可查閱,後臺可人工強平。

<?php

namespace app\market\model;

use think\Model;

use think\Db;

class SubAccountMoney extends Model{

    // 設置當前模型對應的完整數據表名稱

    protected $table = '__STOCK_SUBACCOUNT_MONEY__';

    // 自動寫入時間戳

    protected $autoWriteTimestamp = true;

    public function get_account_money($subaccount_id){

        $result=Db::name('stock_subaccount_money')->field(true)->where(['stock_subaccount_id'=>$subaccount_id])->find();

        if(empty($result))return null;

        return $result;

    }

    public function get_account_money_inf($subaccount_id){

        $result=Db::view('stock_subaccount_money m')

            ->view('stock_subaccount_risk r','loss_warn,loss_close,renewal','r.stock_subaccount_id=m.stock_subaccount_id','left')

            ->view('stock_borrow b','type,init_money,borrow_money,deposit_money,end_time,id as borrow_id,status as b_status','b.stock_subaccount_id=m.stock_subaccount_id','left')

            ->where(['m.stock_subaccount_id'=>$subaccount_id])

            ->find();

        if(isset($result['b_status'])&&$result['b_status']===2){

            $result['available_amount']=0;

        }

        $result['init_money'] = $result['init_money'] /100;

        $result['loss_warn_money'] = ($result['borrow_money']+$result['loss_warn'] * $result['deposit_money'] /100)/100;

        $result['loss_close_money'] = ($result['borrow_money']+$result['loss_close'] * $result['deposit_money']/100)/100;

        $result['end_time']=date('Y-m-d H:i:s',$result['end_time']);

        if(empty($result))return null;

        return $result;

    }

    public  function up_moneylog($sub_id,$affect_money,$type,$return_money=0,$Balance=0,$code="600000"){

        $vm=Db::name('stock_subaccount_money')->lock(true)->field(true)->where(['stock_subaccount_id'=>$sub_id])->find();

        if(empty($vm)){return false;}

        //$nowTime = time();

        switch ($type){

            case 1://購買股票扣款

                if($vm['avail']<$affect_money){return false;}

                $mmoney['avail'] = $vm['avail']-$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],1,"(-)購買股票扣款,可用減少".$fee."元");

                break;

            case 2://賣出股票回款

                $mmoney['avail'] = $vm['avail']+$affect_money;

                $mmoney['return_money'] = $vm['return_money']+$return_money;

                $mmoney['return_rate']=$mmoney['return_money']/$vm['deposit_money']*100;

                $mmoney['available_amount'] = $vm['available_amount']+$return_money;//將盈虧加到可提盈字段

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],2,"(+)賣出股票回款,可用增加".$fee."元");

                break;

            case 3://實盤或限價購買股票扣款

                if($vm['avail']<$affect_money){return false;}

                $mmoney['avail'] = $vm['avail']-$affect_money;

                $mmoney['freeze_amount'] = $vm['freeze_amount']+$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],3,"(-)購買股票扣款,可用減少".$fee."元");

                break;

            case 4://實盤賣出股票回款

                $mmoney['freeze_amount'] = $vm['freeze_amount']+$affect_money;

                self::record($sub_id,$affect_money,$vm['avail'],4,"(=)賣出股票回款");

                break;

            case 5://實盤或限價賣出成功解除凍結

                $mmoney['avail'] = $vm['avail']+$affect_money+$Balance;

                $mmoney['freeze_amount'] = $vm['freeze_amount']-$affect_money;

                $mmoney['return_money'] = $vm['return_money']+$return_money;

                $mmoney['return_rate']=$mmoney['return_money']/($vm['deposit_money']/100);

                $mmoney['available_amount'] = $vm['available_amount']+$return_money;//將盈虧加到可提盈字段

                $fee=round(($Balance+$affect_money)/100,2);

                self::record($sub_id,$affect_money,$mmoney['avail'],5,"(+)賣出成功解除凍結,可用增加".$fee."元");

                break;

            case 6://實盤買入成功解除凍結

                $mmoney['avail'] = $vm['avail']+$Balance;

                $mmoney['freeze_amount'] = $vm['freeze_amount']-$affect_money;

                $fee=round($Balance/100,2);

                self::record($sub_id,$affect_money,$mmoney['avail'],6,"(+)買入成功解除凍結,可用增加".$fee."元");

                break;

            case 7://在子賬戶保證金中扣費用

                $mmoney['deposit_money'] = $vm['deposit_money']-$affect_money;

                self::record($sub_id,$affect_money,$vm['avail'],7,"(=)扣費用,可用不變");

                break;

            case 8://購買股票撤單

                $mmoney['avail'] = $vm['avail']+$affect_money;

                $mmoney['freeze_amount'] = $vm['freeze_amount']-$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],8,"(+)撤單解除凍結,可用增加".$fee."元");

                break;

            case 9://賣出股票撤單

                $mmoney['avail']=$vm['avail'];

                $mmoney['freeze_amount'] = $vm['freeze_amount']-$affect_money;

                self::record($sub_id,$affect_money,$mmoney['avail'],9,"(=)賣出撤單解除凍結,可用不變");

                break;

            case 10://追加保證金

                $mmoney['avail']=$vm['avail']+$affect_money;

                $mmoney['stock_addmoney'] = $vm['stock_addmoney']+$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],10,"(+)用戶追加保證金,可用增加".$fee."元");

                break;

            case 11://擴大配資

                $applyMoney=$return_money;

                $mmoney['avail']=$vm['avail']+$affect_money+$applyMoney;

                $mmoney['deposit_money'] = $vm['deposit_money']+$affect_money;

                $mmoney['borrow_money'] = $vm['borrow_money']+$applyMoney;

                $mmoney['stock_addfinancing']=$vm['stock_addfinancing'] + $affect_money;

                $fee=($applyMoney+$affect_money)/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],11,"(+)用戶擴大配資,可用增加".$fee."元");

                break;

            case 12://提取盈利

                $mmoney['avail']=$vm['avail']-$affect_money;

                $mmoney['available_amount'] = $vm['available_amount']-$affect_money;

                $mmoney['stock_drawprofit'] = $vm['stock_drawprofit']+$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],12,"(-)用戶提取盈利,可用減少".$fee."元");

                break;

            case 13://股票分紅

                $mmoney['avail']=$vm['avail']+$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],13,"(+)用戶股票".$code."分紅,可用增加".$fee."元");

                break;

            case 15://收取股票紅利稅

                $mmoney['avail']=$vm['avail']-$affect_money;

                $fee=$affect_money/100;

                self::record($sub_id,$affect_money,$mmoney['avail'],15,"(-)用戶股票".$code."分紅代扣利息稅,可用減少".$fee."元");

                break;

            default:

                return false;

        }

        $ret=Db::name('stock_subaccount_money')->where(['stock_subaccount_id'=>$sub_id])->update($mmoney);

        return $ret;

    }

    public static function record($sub_id,$affect_money,$account,$type,$info){

        $record['sub_id'] = $sub_id;

        $record['affect'] = $affect_money;

        $record['account'] = $account;

        $record['type'] = $type;

        $record['info'] = $info;

        $record['create_time'] = time();

        $record['create_ip'] = get_client_ip(1);

        $res=Db::name('stock_submoney_record')->insert($record);

        return $res;

    }

    //子賬戶資金單位由分轉爲元

    public static function ftoy($res){

        if(!empty($res)) {

            $res["min_commission"] = money_convert($res["min_commission"]);

            $res["avail"] = money_convert($res["avail"]);

            $res["available_amount"] = money_convert($res["available_amount"]);

            $res["freeze_amount"] = money_convert($res["freeze_amount"]);

            $res["return_money"] = money_convert($res["return_money"]);

            //$res["return_rate"] = money_convert($res["return_rate"]);

            $res["deposit_money"] = money_convert($res["deposit_money"]);

            $res["borrow_money"] = money_convert($res["borrow_money"]);

            $res["stock_addfinancing"] = money_convert($res["stock_addfinancing"]);

            $res["stock_addmoney"] = money_convert($res["stock_addmoney"]);

            $res["stock_drawprofit"] = money_convert($res["stock_drawprofit"]);

        }

        return $res;

    }

}

 

 

 

 

數據接口使用的是 新浪和騰訊的

if (!function_exists('sina_market')) {

function sina_market($code)

{

$d = fenxi($code);

$randm = time() . mt_rand(100, 999);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://hq.sinajs.cn/rn=' . $randm . '&list=' . $d . ',' . $d . '_i');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

$output = curl_exec($ch);

curl_close($ch);

$pos = strpos($output, '=') + 2;

$output = substr($output, $pos, -3);

$t2 = explode(',', mb_convert_encoding($output, 'utf-8', 'gbk'));

$t2[32] = $t2[0];

$t2[0] = $d;

return $t2;

}

}

if (!function_exists('qq_market')) {

function qq_market($code)

{

$d = fenxi($code);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://qt.gtimg.cn/q=' . $d);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

$output = curl_exec($ch);

curl_close($ch);

$t2 = explode('~', mb_convert_encoding($output, 'utf-8', 'gbk'));

$t2[0] = substr($t2[0], 2, 8);

return $t2;

}

}

股票系統支付接口對接    股票系統數據接口對接  融資配資系統源碼開發   證券配資系統二次開發   A股策略平臺程序源碼

演示網址  http://117.48.206.60:9902

技術交流、支持 QQ 2446503032

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章