| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- namespace bizHd\order\classes;
- use biz\stat\classes\StatItemClass;
- use bizGhs\product\classes\ProductClass;
- use bizGhs\stock\classes\StockRecordClass;
- use common\components\dict;
- use common\components\imgUtil;
- use Yii;
- use bizHd\base\classes\BaseClass;
- class OrderItemClass extends BaseClass
- {
- public static $baseFile = '\bizHd\order\models\OrderItem';
- //添加记录
- 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 (intval($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;
- }
- public static function getListBySn($sn)
- {
- $list = self::getAllByCondition(['orderSn' => $sn], null, '*');
- 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;
- }
- }
|