123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- <?php
- namespace app\web\model;
- use app\common\controller\Orde;
- use app\common\model\Mining;
- use app\common\model\Order;
- use app\common\model\OrderFrequency;
- use app\common\model\Quotation;
- use app\common\model\System;
- use app\common\model\User;
- use app\common\model\UserMessage;
- use app\common\model\VendibilityFinance;
- use Ramsey\Uuid\Uuid;
- use think\facade\Db;
- class Orders
- {
-
-
- public static function order_list($type, $user_id = 0, $status = 0, $page = 1, $limit = 10,$num=0)
- {
- $where = [];
- switch ($type) {
- case 0 :
- $where[]=["push_user","=","0"];
- break;
- case 1:
- $where[] = ["buy_user", "=", $user_id];
- break;
- case 2:
- $where[] = ["push_user", "=", $user_id];
- break;
- }
- if ($num){
- $where[]=["number","=",$num];
- }
- switch ($status){
- case 1:
- $where[]=["status","in",[0,1]];
- break;
- case 2:
- $where[]=["status","in",[2,3,4,5]];
- break;
- }
- $order = Order::where($where)->order("status asc,id asc")->paginate(['list_rows' => $limit, 'page' => $page])->each(function ($item) use ($type) {
- if ($item["status"] == 0) {
- if (time() > $item["add_time"]) {
- $item["stat_time"] = time() - $item["add_time"];
- } else {
- $item["stat_time"] = 0;
- }
- } else {
- $item["stat_time"] = 0;
- }
- $item["image"]=$item["image"]?:"";
-
- $item["add_times"] = date("Y-m-d H:i", $item["add_time"]);
- if ($item["end_time"]) {
- $item["end_time"] = date("Y-m-d H:i", $item["end_time"]);
- }
- return $item;
- })->toArray();
- return $order;
- }
-
- public static function open_system()
- {
- $list = Db::name('system')
- ->where(["type"=>"open"])
- ->field('name,value')
- ->column('value','name');
- return $list;
- }
-
- public static function open_systems()
- {
- $day=date("w");
- $day=(int)$day;
- if ($day==0){
- $day=7;
- }
- $where["id"]=$day;
- $quer=Quotation::where($where)->find();
- if ($quer["status"]==1){
- json_result(400,"已经关盘,请等待开盘");
- }
- $now=date("H");
- if ($quer["stat"]>$now||$quer["end"]<$now){
- json_result(400,"开盘时间是".$quer["stat"]."点到".$quer["end"]."点");
- }
- return true;
- }
-
- public static function push_order($user,$user_id,$type=0,$qit_id=0,$ming_id=0)
- {
-
- $userMeesage=UserMessage::where(["user_id"=>$user_id])->find();
- if (!$userMeesage){
- json_result(400,"请完善收账信息");
- }
- if ($type==0){
- $open_system=self::open_systems();
- $where["id"]=$qit_id;
- $order=Order::where($where)->find();
- if (!$order){
- json_result(400,"买入订单id错误");
- }
-
- if ($order->status!=0){
- json_result(400,"该交易订单已经被卖出,或者取消");
- }
-
- if ($order->buy_user==$user_id){
- json_result(400,"自己买入的订单不能卖出");
- }
-
- $mining=Mining::where(["id"=>$order->mining_id])->find();
- if ($user->money<$mining->tong_money){
- json_result(400,"通证余额不足");
- }
- if ($user->push_money<$order->number){
- json_result(400,"可售额度不足");
- }
-
- $where_status[]=["status","in",[0,1,2]];
- $where_status[]=["push_user","=",$user_id];
- $count_order=Order::where($where_status)->count();
-
- $order_frequency=OrderFrequency::where(["user_id"=>$user_id,"mining_id"=>$order->mining_id])->find();
- if ($order_frequency){
- $count_order=$order_frequency->push+$count_order;
- if ($count_order==5){
- json_result(400,"该价格区已经达到卖出5次,请卖出其他价格区");
- }
- }else{
- if ($count_order==5){
- json_result(400,"该价格区已经达到卖出5次,请卖出其他价格区");
- }
- }
- if ($count_order+1==5){
- $sxf_money=$order->out_game;
- if ($user->money<$order->out_game){
- json_result(400,"通证余额不足");
- }
- }else{
- $sxf_money=$mining->tong_money;
- }
-
- Orde::push_order($user,$qit_id,$user_id,$order,$count_order,$sxf_money);
- }else{
- if (!$user["phone"]){
- json_result(310,"请绑定手机号码");
- }
- if (!$user["urgent_name"]||!$user["urgent_phone"]){
- json_result(320,"请完善紧急联系人");
- }
- $where_ming["id"]=$ming_id;
- $mining=Mining::where($where_ming)->find();
- if (!$mining){
- json_result(400,"交易区块id错误");
- }
-
- $mining=Mining::where(["id"=>$ming_id])->find();
- if ($user->ensure_money<$mining->ensure_money){
- json_result(400,"保证金不足");
- }
-
- $where_status[]=["status","in",[0,1,2]];
- $where_status[]=["buy_user","=",$user_id];
- $count_order=Order::where($where_status)->count();
-
- $order_frequency=OrderFrequency::where(["user_id"=>$user_id,"mining_id"=>$ming_id])->find();
- if ($order_frequency){
- $count_order=$order_frequency->buy+$count_order;
- if ($count_order==4){
- json_result(400,"该价格区已经达到买入4次,请购买其他价格区");
- }
- }else{
- if ($count_order==4){
- json_result(400,"该价格区已经达到买入4次,请购买其他价格区");
- }
- }
- $order=getordernum();
- $add["type"]=0;
- $add["buy_user"]=$user_id;
- $add["push_user"]="";
- $add["number"]=$mining["num"];
- $add["enlarge_quota"]=$mining["enlarge_quota"];
- $add["order"]=$order;
- $add["mining_id"]=$ming_id;
- $add["status"]=0;
- $add["add_time"]=time();
- $add["out_game"]=$mining["out_game"];
- $add["tong_money"]=$mining["tong_money"];
- $add["ensure_money"]=$mining["ensure_money"];
- Order::create($add);
- }
- json_result(200,"操作成功");
- }
-
- public static function order_show($order,$user_id)
- {
- $data=[];
- if ($order->buy_user==$user_id){
- $data["type"]=0;
- $where_user["id"]=$order->buy_user;
- }else{
- $data["type"]=1;
- $where_user["id"]=$order->push_user;
- }
- $user=User::where($where_user)->find();
- $user_message=UserMessage::where(["user_id"=>$where_user["id"]])->find();
- $data["number"]=$order->number;
- $data["id"]=$order->id;
- $data["msg"]=$order->msg?:"";
- $data["status"]=$order->status?:"";
- $data["order"]=$order->order;
- $data["add_time"]=date("Y-m-d H:i:s",$order->add_time);
- $data["adds_time"]=$order->add_time;
- $data["stat_time"]=$order->stat_time;
- if ($order->stat_time>$order->add_time){
- $data["time"]=$order->stat_time-$order->add_time;
- }else{
- $data["time"]="";
- }
- if ($order->end_time){
- $data["end_time"]=date("Y-m-d H:i",$order->end_time);
- }else{
- $data["end_time"]="";
- }
- $data["image"]=$order->image?:"";
- if ( $data["type"]==0){
- $data["user_name"]=$user->name;
- $data["user_phone"]=$user_message->phone;
- $data["name"]=$user_message->name;
- $data["bank_name"]=$user_message->bank_name;
- $data["bank_number"]=$user_message->bank_number;
- $data["bank_branch"]=$user_message->bank_branch;
- $data["ali_pay"]=$user_message->ali_pay;
- $data["wx_pay"]=$user_message->wx_pay;
- $data["ali_pay_image"]=$user_message->ali_pay_image;
- $data["wx_pay_image"]=$user_message->wx_pay_image;
- }else{
- $data["user_name"]=$user->name;
- $data["user_phone"]=$user_message->phone;
- $data["name"]="";
- $data["bank_name"]="";
- $data["bank_number"]="";
- $data["bank_branch"]="";
- $data["ali_pay"]="";
- $data["wx_pay"]="";
- $data["ali_pay_image"]="";
- $data["wx_pay_image"]="";
- }
- json_result(200,"",$data);
- }
-
- public static function order_fail($msg,$order_id)
- {
- $order=Order::where(["id"=>$order_id])->find();
- if (!$order){
- json_result(400,"订单不存在");
- }
- if ($order->status!=2){
- json_result(400,"还没有上传证明");
- }
- Orde::order_fail($msg,$order);
- json_result(200,"处理成功");
- }
- public static function phone_email()
- {
- $phone_email=System::where(["name"=>"phone_email"])->value("value");
- if ($phone_email){
- return $phone_email;
- }else{
- return 1;
- }
- }
-
- public static function user_find($user_id,$jian,$zi,$money,$content)
- {
- }
- }
|