StockService.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\api\service;
  4. use app\common\model\ShopList;
  5. use app\common\model\StockConfig;
  6. use app\common\model\ProductConfig;
  7. use app\common\model\StockDetail;
  8. /**
  9. * 出入库
  10. */
  11. class StockService {
  12. //出入库: id 库存的id
  13. public static function setGoOutStock(int $uid, array $data): array
  14. {
  15. $result = [];
  16. foreach ($data['variety'] as $item)
  17. {
  18. if(count($item) != 3 || empty(floatval($item['num']))) throw new \Exception('参数有误!');
  19. $weight = ($data['type']== '2') ? -$item['num']: $item['num'];
  20. //根据品种扣除库存
  21. $stock = StockDetail::setStockConfigNum((int)$item['variety_id'], (string)$weight, $data['type_id']);
  22. //记录数据
  23. $result[] = [
  24. 'user_id' => $uid,
  25. 'type_id' => $data['type_id'],
  26. 'type' => $data['type'],
  27. 'variety_id' => $item['variety_id'],
  28. 'change' => $item['num'],
  29. 'after' => $stock
  30. ];
  31. }
  32. return $result;
  33. }
  34. }