OrderItemClass.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace bizHd\order\classes;
  3. use biz\stat\classes\StatItemClass;
  4. use bizGhs\product\classes\ProductClass;
  5. use bizGhs\stock\classes\StockRecordClass;
  6. use common\components\dict;
  7. use common\components\imgUtil;
  8. use Yii;
  9. use bizHd\base\classes\BaseClass;
  10. class OrderItemClass extends BaseClass
  11. {
  12. public static $baseFile = '\bizHd\order\models\OrderItem';
  13. //添加记录
  14. public static function addData($data, $custom)
  15. {
  16. //库存变化
  17. $sjId = $data['sjId'] ?? 0;
  18. $shopId = $data['shopId'] ?? 0;
  19. $itemId = $data['itemId'] ?? 0;
  20. $unitType = $data['unitType'] ?? 0;
  21. $num = $data['num'] ?? 0;
  22. $ptItemId = $data['ptItemId'] ?? 0;
  23. $ratio = $data['ratio'] ?? 0;
  24. $orderSn = $data['orderSn'] ?? '';
  25. $mainId = $data['mainId'] ?? 0;
  26. $customName = $custom['name'] ?? '';
  27. $bigNum = 0;
  28. $smallNum = 0;
  29. if ($unitType == dict::getDict('unitType', 'big')) {
  30. $bigNum = $num;
  31. } else {
  32. $smallNum = $num;
  33. }
  34. //库存减少
  35. $stockInfo = ProductClass::decreaseStock($itemId, $bigNum, $smallNum, true);
  36. $recordData = [];
  37. $recordData['sjId'] = $sjId;
  38. $recordData['shopId'] = $shopId;
  39. $recordData['mainId'] = $mainId;
  40. $recordData['itemId'] = $ptItemId;
  41. $itemNum = ProductClass::mergeItemNum($bigNum, $smallNum, $ratio);
  42. $recordData['itemNum'] = $itemNum;
  43. $recordData['oldStock'] = $stockInfo['oldStock'];
  44. $recordData['newStock'] = $stockInfo['newStock'];
  45. $recordData['productId'] = $itemId;
  46. $recordData['orderSn'] = $orderSn;
  47. $recordData['relateName'] = $customName;
  48. StockRecordClass::hdKdAddRecord($recordData);
  49. $result = self::add($data, true);
  50. $price = $data['price'] ?? 0;
  51. $params = [
  52. 'mainId' => $mainId,
  53. 'itemId' => $itemId,
  54. 'price' => $price,
  55. 'num' => $itemNum,
  56. ];
  57. StatItemClass::replace($params);
  58. return $result;
  59. }
  60. public static function getListBySn($sn)
  61. {
  62. $list = self::getAllByCondition(['orderSn' => $sn], null, '*');
  63. if (empty($list)) {
  64. return $list;
  65. }
  66. foreach ($list as $key => $val) {
  67. $shortCover = isset($val['cover']) && !empty($val['cover']) ? $val['cover'] : 'hhb_small.png';
  68. $smallCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130";
  69. $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700";
  70. $list[$key]['shortCover'] = $shortCover;
  71. $list[$key]['smallCover'] = $smallCover;
  72. $list[$key]['bigCover'] = $bigCover;
  73. }
  74. return $list;
  75. }
  76. }