lizhen_gitee 1 rok pred
rodič
commit
3782354c51
1 zmenil súbory, kde vykonal 67 pridanie a 2 odobranie
  1. 67 2
      application/index/controller/Plantask.php

+ 67 - 2
application/index/controller/Plantask.php

@@ -107,8 +107,8 @@ class Plantask extends Controller
         echo '成功'.count($order_list);
     }
 
-    //总代奖励
     //自动结算10日前订单,每分钟运行
+    //初次结算
     public function auto_jiesuan_order(){
         $nowtime = time();
         /*$toweek  = date('w',$nowtime);
@@ -126,6 +126,7 @@ class Plantask extends Controller
             'status'      => 1,
             'have_paid'   => ['lt',$tendays_ago],
             'jiesuantime' => 0,
+            'jiesuan_times' => 0,
         ];
         $order_list = Db::name('unishop_order')->where($order_map)->where('have_paid','gt',0)->order('id asc')->lock(true)->limit(10)->select();
         if(empty($order_list)){
@@ -160,7 +161,7 @@ class Plantask extends Controller
             }
 
             //标记为结算
-            $jiesuan = Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>$nowtime]);
+            $jiesuan = Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>$nowtime,'jiesuan_times'=>1]);
             if($jiesuan === false){
                 echo '修改状态失败';
                 Db::rollback();
@@ -182,6 +183,70 @@ class Plantask extends Controller
         echo '成功'.count($order_list);
     }
 
+    //订单每10日结算一次,第2-N次
+    public function auto_jiesuan_order_times(){
+        $nowtime = time();
+
+        $tendays_ago = jiesuan_tendays_ago();
+
+        //
+        Db::startTrans();
+        $order_map = [
+            'status'      => 1,
+            'have_paid'   => ['gt',0],
+            'jiesuantime' => ['lt',$tendays_ago],
+            'jiesuan_times' => ['gt',0],
+        ];
+        $order_list = Db::name('unishop_order')->where($order_map)->order('id asc')->lock(true)->limit(10)->select();
+        if(empty($order_list)){
+            echo '没有数据';
+            Db::rollback();
+            exit;
+        }
+
+        foreach($order_list as $key => $order){
+
+            $new_times = $order['jiesuan_times'] + 1;
+            //买家得到收益,两个数据同步加
+            if($order['order_shouyi'] > 0){
+                $shouyi = bcsub($order['order_shouyi'],$order['order_benjin']);  //总收益 - 本金 = 可提现收益
+
+                $remark = $new_times.'次收益:'.$shouyi;
+                if($shouyi > 0){
+                    $rs_wallet = model('wallet')->lockChangeAccountRemain($order['user_id'],'score',$shouyi,50,$remark,'unishop_order',$order['id'],$order['user_id']);
+                    if($rs_wallet['status'] === false){
+                        echo $rs_wallet['msg'];
+                        Db::rollback();
+                        exit;
+                    }
+
+
+                    $rs_wallet = model('wallet')->lockChangeAccountRemain($order['user_id'],'shouyi',$shouyi,51,$remark,'unishop_order',$order['id'],$order['user_id']);
+                    if($rs_wallet['status'] === false){
+                        echo $rs_wallet['msg'];
+                        Db::rollback();
+                        exit;
+                    }
+                }
+            }
+
+            //标记为结算
+            $jiesuan = Db::name('unishop_order')->where('id',$order['id'])->update(['jiesuantime'=>$nowtime,'jiesuan_times'=>$new_times]);
+            if($jiesuan === false){
+                echo '修改状态失败';
+                Db::rollback();
+                exit;
+            }
+
+
+            //循环结束
+            echo '完成'.$order['id'];
+        }
+
+        Db::commit();
+        echo '成功'.count($order_list);
+    }
+
 
 
 }