['in', $snList]]; $ret = OrderClass::getAllByCondition($where, $order,'*'); if (!empty($ret)) { //获取订单的商品信息 $goodsList = OrderGoodsService::getGoodsListByOrderSns($snList); //获取订花人的用户信息 $orderUserIds = array_column($ret, 'customId'); $orderUserIds = array_unique(array_filter($orderUserIds)); $customList = CustomClass::getCustomByIds($orderUserIds); $sjIdList = array_column($ret, 'sjId'); $sjIdList = array_filter(array_unique($sjIdList)); $merchantList = MerchantService::getByIds($sjIdList, null, 'id'); $periodData = [0 => '上午', 1 => '下午', 2 => '晚上']; $defaultImg = imgUtil::groupImg(''); foreach ($ret as $key => $val) { $id = $val['id']; $customId = $val['customId']; $currentActPrice = $val['actPrice'] ?? 0; $currentSendCost = $val['sendCost'] ?? 0; $currentPrice = bcsub($currentActPrice, $currentSendCost, 2); //没有商品显示的样式 $goodsInfoList = [['title' => '', 'coverUrl' => $defaultImg, 'unitPrice' => $currentPrice, 'num' => 1]]; if (isset($goodsList[$id])) { $goodsInfoList = $goodsList[$id]; } $ret[$key]['goodsInfoList'] = $goodsInfoList; $ret[$key]['bookAvatar'] = isset($customList[$customId]['smallAvatarUrl']) ? $customList[$customId]['smallAvatarUrl'] : ''; $sjId = $val['sjId']; $ret[$key]['name'] = isset($merchantList[$sjId]['name']) ? $merchantList[$sjId]['name'] : ''; $ret[$key]['reachTime'] = OrderClass::getReachTime($val); $requireReachTime = ''; if ($val['reachDate'] != '0000-00-00') { $reachPeriodId = $val['reachPeriod']; $reachPeriod = isset($periodData[$reachPeriodId]) ? $periodData[$reachPeriodId] : '上午'; $requireReachTime = date("m-d", strtotime($val['reachDate'])) . ' ' . $reachPeriod; } $ret[$key]['requireReachTime'] = $requireReachTime; $shortCover = $val['cover'] ?? ''; $ret[$key]['cover'] = imgUtil::groupImg($shortCover); } } $respond['list'] = $ret; } return $respond; } //添加记录 public static function addData($data, $custom) { //库存变化 $sjId = $data['sjId'] ?? 0; $shopId = $data['shopId'] ?? 0; $itemId = $data['itemId'] ?? 0; $unitType = $data['unitType'] ?? 0; $num = $data['num'] ?? 0; $ptItemId = $data['ptItemId'] ?? 0; $ratio = $data['ratio'] ?? 0; $orderSn = $data['orderSn'] ?? ''; $mainId = $data['mainId'] ?? 0; $customName = $custom->name ?? ''; $bigNum = 0; $smallNum = 0; if ($unitType == dict::getDict('unitType', 'big')) { $bigNum = $num; } else { $smallNum = $num; } //库存减少 $itemNum = ProductClass::mergeItemNum($bigNum, $smallNum, $ratio); if ($itemNum > 0) { $stockInfo = ProductClass::decreaseStock($itemId, $bigNum, $smallNum, true); $recordData = []; $recordData['sjId'] = $sjId; $recordData['shopId'] = $shopId; $recordData['mainId'] = $mainId; $recordData['itemId'] = $ptItemId; $recordData['itemNum'] = $itemNum; $recordData['oldStock'] = $stockInfo['oldStock']; $recordData['newStock'] = $stockInfo['newStock']; $recordData['productId'] = $itemId; $recordData['orderSn'] = $orderSn; $recordData['relateName'] = $customName; StockRecordClass::hdKdAddRecord($recordData); } $result = self::add($data, true); // $price = $data['price'] ?? 0; // $params = [ // 'mainId' => $mainId, // 'itemId' => $itemId, // 'price' => $price, // 'num' => $itemNum, // ]; // StatItemClass::replace($params); return $result; } /** * @param $sn * @param string $field * @return array|\yii\db\ActiveRecord[] */ public static function getListBySn($sn, $field = '*') { $list = self::getAllByCondition(['orderSn' => $sn], null, $field); if (empty($list)) { return $list; } foreach ($list as $key => $val) { $shortCover = isset($val['cover']) && !empty($val['cover']) ? $val['cover'] : 'hhb_small.png'; $smallCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130"; $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700"; $list[$key]['shortCover'] = $shortCover; $list[$key]['smallCover'] = $smallCover; $list[$key]['bigCover'] = $bigCover; } return $list; } }