StockService.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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) != 4 || empty(floatval($item['num']))) throw new \Exception('参数有误!');
  19. $weight = ($data['type']== '1') ? -$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. 'remark' => $item['remark']
  31. ];
  32. }
  33. return $result;
  34. }
  35. }