吴昊天 3 anos atrás
pai
commit
fccb6ede9f

+ 2 - 15
crmeb/app/services/statistic/ProductStatisticServices.php

@@ -168,27 +168,14 @@ class ProductStatisticServices extends BaseServices
         $browse = array_column($productLog->getProductTrend($time, $timeType, 'sum(visit_num)'), 'num', 'days');
         $user = array_column($productLog->getProductTrend($time, $timeType, 'count(distinct(uid))'), 'num', 'days');
         $pay = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'sum(pay_price)'), 'num', 'days');
-        $refundList = $orderRefund->getProductTrend($time, $timeType, 'refunded_time', 'sum(refunded_price)');
-        $refund = array_column($refundList, 'num', 'days');
+        $refund = array_column($orderRefund->getProductTrend($time, $timeType, 'refunded_time', 'sum(refunded_price)'), 'num', 'days');
         if ($excel) {
             $cart = array_column($storeCart->getProductTrend($time, $timeType, 'sum(cart_num)'), 'num', 'days');
             $order = array_column($storeOrder->getProductTrend($time, $timeType, 'add_time', 'sum(total_num)'), 'num', 'days');
             $payNum = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'sum(total_num)'), 'num', 'days');
             $payCountNum = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'count(distinct(uid))'), 'num', 'days');
             $cost = array_column($storeOrder->getProductTrend($time, $timeType, 'pay_time', 'sum(cost)'), 'num', 'days');
-            $orderIds = array_column($refundList, 'store_order_id');
-            $ids = implode(',', $orderIds);
-            $totalNumList = $orderRefund->getColumn(['store_order_id' => $ids], 'refund_num', 'id');
-            $refundNum = array_column($refundList, 'store_order_id', 'days');
-            foreach ($refundNum as &$i) {
-                $oIds = explode(',', $i);
-                $i = array_map(function ($o) use ($totalNumList) {
-                    if (isset($totalNumList[$o])) {
-                        return $totalNumList[$o];
-                    }
-                }, $oIds);
-                $i = array_sum($i);
-            }
+            $refundNum = array_column($orderRefund->getProductTrend($time, $timeType, 'refunded_time', 'sum(refund_num)'), 'num', 'days');
             $data = [];
             foreach ($xAxis as &$item) {
                 if (isset($user[$item]) && isset($payCountNum[$item])) {