dever 3 years ago
parent
commit
db9b3ec6d6
2 changed files with 87 additions and 34 deletions
  1. 86 33
      app/mshop/lib/Buy.php
  2. 1 1
      app/store/admin/Excel.php

+ 86 - 33
app/mshop/lib/Buy.php

@@ -2364,28 +2364,61 @@ class Buy
                 $sku = '无';
             }
 
-            $d = array
-            (
-                $goods_info['id'],
-                $goods_info['name'],
-                $sku,
-                $v['price'],
-                'x ' . $v['num'],
-            );
-            if ($type == 2) {
-                unset($d[3]);
-            }
-            if ($tk && $v['status'] == 3 && $tk['status'] != 3) {
+            if ($goods_info['price_type'] > 2 && isset($goods_info['goods']) && is_array($goods_info['goods'])) {
+                    
+                foreach ($goods_info['goods'] as $v2) {
+                    $p = $v2['price'];
+                    if (is_numeric($v2['num']) && is_numeric($v2['price'])) {
+                        $p = $v2['price']*$v2['num'];
+                    }
+                    $d = array
+                    (
+                        $v2['id'],
+                        $v2['name'],
+                        $sku,
+                        $v2['price'],
+                        'x ' . $v2['num'],
+                    );
+                    if ($type == 2) {
+                        unset($d[3]);
+                    }
+                    if ($tk && $v['status'] == 3 && $tk['status'] != 3) {
 
-                $refund_body[] = $d;
-                $price = $v['price']*$v['num'];
-                $refund_body_total['price'] += $price;
-                $refund_body_total['num'] += $v['num'];
+                        $refund_body[] = $d;
+                        $price = $v['price']*$v['num'];
+                        $refund_body_total['price'] += $price;
+                        $refund_body_total['num'] += $v['num'];
+                    } else {
+                        $body[] = $d;
+                        $price = $v['price']*$v['num'];
+                        $body_total['price'] += $price;
+                        $body_total['num'] += $v['num'];
+                    }
+                }
             } else {
-                $body[] = $d;
-                $price = $v['price']*$v['num'];
-                $body_total['price'] += $price;
-                $body_total['num'] += $v['num'];
+                $d = array
+                (
+                    $goods_info['id'],
+                    $goods_info['name'],
+                    $sku,
+                    $v['price'],
+                    'x ' . $v['num'],
+                );
+                if ($type == 2) {
+                    unset($d[3]);
+                }
+                if ($tk && $v['status'] == 3 && $tk['status'] != 3) {
+
+                    $refund_body[] = $d;
+                    $price = $v['price']*$v['num'];
+                    $refund_body_total['price'] += $price;
+                    $refund_body_total['num'] += $v['num'];
+                } else {
+                    $body[] = $d;
+                    $price = $v['price']*$v['num'];
+                    $body_total['price'] += $price;
+                    $body_total['num'] += $v['num'];
+                }
             }
         }
 
@@ -2503,20 +2536,40 @@ class Buy
                     $sku = '';
                 }
 
-                $d = array
-                (
-                    $v['type_info']['name'],
-                    $v['order_num'],
-                    $v['source_info']['name'],
-                    $v['cdate'],
-                    $goods_info['name'],
-                    $sku,
-                    $v1['num'],
-                    $v1['status_name'],
-                    $v['status_name'],
-                );
+                if ($goods_info['price_type'] > 2 && isset($goods_info['goods']) && is_array($goods_info['goods'])) {
+                    
+                    foreach ($goods_info['goods'] as $v2) {
+                        $d = array
+                        (
+                            $v['type_info']['name'],
+                            $v['order_num'],
+                            $v['source_info']['name'],
+                            $v['cdate'],
+                            $v2['name'],
+                            $sku,
+                            $v2['num'],
+                            $v1['status_name'],
+                            $v['status_name'],
+                        );
 
-                $body[] = $d;
+                        $body[] = $d;
+                    }
+                } else {
+                    $d = array
+                    (
+                        $v['type_info']['name'],
+                        $v['order_num'],
+                        $v['source_info']['name'],
+                        $v['cdate'],
+                        $goods_info['name'],
+                        $sku,
+                        $v1['num'],
+                        $v1['status_name'],
+                        $v['status_name'],
+                    );
+
+                    $body[] = $d;
+                }
             }
         }
 

+ 1 - 1
app/store/admin/Excel.php

@@ -358,7 +358,7 @@ class Excel extends Core
                             $v2['code'],
                             $v2['unit'],
                             '',
-                            $v1['num'],
+                            $v2['num'],
                             $v2['name'],
                             
                         );