db->createCommand($sql)->execute(); } //每3分钟进行已完成支付订单处理:花材销量统计 if ((int)date('i') % 3 == 0) { $ghs = dict::getDict('ptStyle', 'ghs'); $shopList = ShopClass::getAllByCondition(['ptStyle' => $ghs], null, '*', null, true); if (!empty($shopList)) { foreach ($shopList as $key => $shop) { $ids = []; $shopId = $shop->id ?? 0; $newOrderKey = 'ghsNewOrder_' . $shopId; while ($count = Yii::$app->redis->executeCommand('LLEN', [$newOrderKey])) { $id = Yii::$app->redis->executeCommand('RPOP', [$newOrderKey]); if (is_numeric($id)) { $ids[] = $id; } } if (empty($ids)) { continue; } $list = OrderClass::getAllByCondition(['id' => ['in', $ids]], null, '*', null, true); if (empty($list)) { continue; } foreach ($list as $key => $order) { $orderSn = $order->orderSn ?? ''; if (empty($orderSn)) { continue; } $itemList = OrderItemClass::getAllByCondition(['orderSn' => $orderSn], null, '*', null, true); if (empty($itemList)) { continue; } //花材销量统计 foreach ($itemList as $itemKey => $itemVal) { $mainId = $itemVal->mainId ?? 0; $itemId = $itemVal->productId ?? 0; $num = $itemVal->num ?? 0; $price = $itemVal->price ?? 0; $params = [ 'mainId' => $mainId, 'itemId' => $itemId, 'price' => $price, 'num' => $num, ]; StatItemClass::replace($params); } } } } } //每天凌晨00:10保存昨天访客数 if ($hour == '0010') { $shopList = ShopClass::getAllByCondition(['ptStyle' => 2], null, '*', null, true); if (!empty($shopList)) { foreach ($shopList as $shop) { //昨天 $date = date("Ymd", strtotime("-1 day")); //今天 //$date = date("Ymd"); $visitNum = StatVisitClass::getVisitNum($shop, $date); $currentNum = bcadd($shop->totalVisit, $visitNum, 2); $shop->totalVisit = $currentNum; $shop->save(); StatVisitClass::saveVisit($shop, $visitNum, $date); } } } } }