Преглед изворни кода

拆分订单脚本细节优化

wufeng пре 2 година
родитељ
комит
077645c104
1 измењених фајлова са 12 додато и 10 уклоњено
  1. 12 10
      app/command/SplitSale.php

+ 12 - 10
app/command/SplitSale.php

@@ -39,14 +39,16 @@ class SplitSale extends Command
             try {
 
                 $data = Db::name('sale')
-                    ->field(true)
+                    ->alias('a')
+                    ->leftJoin('platform b','b.id=a.platform_id')
+                    ->leftJoin('good_proof c','c.id=a.proof_id')
+                    ->field('a.*,b.platform_name,c.proof_url')
                     ->where([
-                        ['is_del', '=', 0],
-                        ['updatetime', '>=', date('Y-m-d H:i:s', time() - 5 * 60)],
-                        ['pay_id', '<>', 0]
+                        ['a.is_del', '=', 0],
+                        ['a.updatetime', '>=', date('Y-m-d H:i:s', time() - 5 * 60)],
+                        ['a.pay_id', '<>', 0]
                     ])
-                    ->select()
-                    ->toArray();
+                    ->cursor();
 
                 foreach ($data as $sale) {
 
@@ -149,7 +151,7 @@ class SplitSale extends Command
                         }
 
                         $sale_total = $cgd_total;
-                        $cgd_total = round(bcsub($cgd_total, bcmul($cgd['total_fee'] ?? 0, $pay_rate['rate'], 5), 5), 4);
+                        $cgd_total = round(bcsub($cgd_total, bcmul($sale['total_price'] ?? 0, $pay_rate['rate'], 5), 5), 4);
 
                         //把自己覆盖到上一个记录的供应商记录中
                         if (isset($this->cgd_insert[$this->cgd_key - 1])) {
@@ -231,7 +233,7 @@ class SplitSale extends Command
                 'apply_name' => $sale['apply_name'] ?? '',
                 'order_type' => $sale['order_type'] ?? 0,
                 'order_source' => $sale['order_source'] ?? 0,
-                'platform_id' => $sale['platform_id'] ?? 0,
+                'platform_id' => $sale['platform_name'] ?? '',
                 'good_code' => $sale['good_code'] ?? '',
                 'cat_id' => $sale['cat_id'] ?? 0,
                 'cat_name' => json_encode($this->_get_cat_list($sale['cat_id']), JSON_UNESCAPED_UNICODE),
@@ -247,7 +249,7 @@ class SplitSale extends Command
                 'supplier_name' => $supplier['name'] ?? '',
                 'zxNo' => $sale['zxNo'] ?? '',
                 'proof_id' => $sale['proof_id'] ?? 0,
-                'proof_url' => Db::name('good_proof')->where('id', $sale['proof_id'] ?? 0)->value('proof_url', ''),
+                'proof_url' => $sale['proof_url']??'',
                 'other_orderNo' => $sale['other_orderNo'],
                 'paytime' => $sale['paytime'] ?? '',
                 'workNo' => $sale['workNo'] ?? '',
@@ -366,7 +368,7 @@ class SplitSale extends Command
 
         $vmn = [];
         $vmn['id'] = $str['id'];
-        $vmn['name'] = $str['cat_name'];
+        $vmn['cat_name'] = $str['cat_name'];
         $vmn['fund_code'] = $str['fund_code'];
         array_unshift($data, $vmn);
         if ($str['pid'] == 0) return $data;