name ?? ''; $bigNum = 0; $smallNum = 0; if ($unitType == dict::getDict('unitType', 'big')) { $bigNum = $num; } else { $smallNum = $num; } //库存减少 $stockInfo = ProductClass::decreaseStock($itemId, $bigNum, $smallNum, true); $recordData = []; $recordData['sjId'] = $sjId; $recordData['shopId'] = $shopId; $recordData['mainId'] = $mainId; $recordData['itemId'] = $ptItemId; $itemNum = ProductClass::mergeItemNum($bigNum, $smallNum, $ratio); $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 array $sns 订单号列表 * @return array [orderSn => [item...]] */ public static function getItemListByOrderSns($sns) { $sns = array_values(array_filter(array_unique($sns))); if (empty($sns)) { return []; } $arr = self::getAllByCondition(['orderSn' => ['in', $sns]], null, '*'); if (empty($arr)) { return []; } $data = []; foreach ($arr as $info) { $orderSn = $info['orderSn'] ?? ''; if (empty($orderSn)) { continue; } $info = self::formatItemCover($info); $data[$orderSn][] = $info; } return $data; } /** * 处理订单明细封面,与详情页展示字段保持一致 */ private static function formatItemCover($info) { $shortCover = !empty($info['cover']) ? $info['cover'] : 'hhb_small.png'; $info['shortCover'] = $shortCover; $info['cover'] = imgUtil::groupImg($shortCover); $info['smallCover'] = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130"; return $info; } }