|
|
@@ -4,6 +4,7 @@ namespace bizMall\order\classes;
|
|
|
|
|
|
use biz\stat\classes\StatItemClass;
|
|
|
use common\components\dict;
|
|
|
+use common\components\imgUtil;
|
|
|
use Yii;
|
|
|
use bizMall\base\classes\BaseClass;
|
|
|
use bizGhs\product\classes\ProductClass;
|
|
|
@@ -65,4 +66,43 @@ class OrderItemClass extends BaseClass
|
|
|
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;
|
|
|
+ }
|
|
|
+
|
|
|
}
|