StockDetail.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\common\model;
  4. use app\common\model\base\BaseModel;
  5. class StockDetail extends BaseModel
  6. {
  7. // 自动写入时间戳字段
  8. protected $autoWriteTimestamp = true;
  9. protected $createTime = 'createtime';
  10. protected $updateTime = 'updatetime';
  11. protected $deleteTime = false;
  12. protected $type = [
  13. 'createtime' => 'timestamp:Y-m-d H:i',
  14. 'updatetime' => 'timestamp:Y-m-d H:i',
  15. ];
  16. /**
  17. * 设置库存配置,根据操作类型对指定库存进行增加或减少操作
  18. * @param int $key 库存配置的标识键,通常为库存项的 ID
  19. * @param float $num 要操作的数量,正数表示增加,负数表示减少
  20. */
  21. public static function setStockConfigNum(int $key, string $num, string $type)
  22. {
  23. $row = StockDetail::where('key', $key)->where('type_id', $type)->find();
  24. if(empty($row)){
  25. return self::create(['key' => $key,'num' => $num, 'type_id'=> $type]);
  26. }else{
  27. $row->num = bcadd($row->num, $num, 2);
  28. return $row->save()?true:false;
  29. }
  30. }
  31. }