2], 'id asc', '*', null, true); if (!empty($list)) { foreach ($list as $item) { $orderSn = $item->orderSn ?? ''; $shopId = $item->shopId ?? 0; $addTime = $item->addTime ?? ''; $shop = ShopClass::getById($shopId, true); if (empty($shop)) { echo '没有找到店铺 ' . $shopId . ' ' . $orderSn . "\n"; continue; } $productList = CheckOrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true); if (!empty($productList)) { $add = 0; $sub = 0; foreach ($productList as $product) { $num = $product->profitLossNum ?? 0; $cost = $product->itemCost ?? 0; $res = bcmul($num, $cost, 2); if ($res > 0) { $add = bcadd($add, $res, 2); } else { $sub = bcadd($add, abs($res), 2); } } $date = date("Ymd", strtotime($addTime)); if ($add > 0) { StatPdAddClass::replace($shop, $add, $date); } if ($sub > 0) { StatPdSubClass::replace($shop, $sub, $date); } } } } } }