StoreSeckillAttrValue.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace app\admin\model\ump;
  3. use crmeb\basic\BaseModel;
  4. use crmeb\traits\ModelTrait;
  5. class StoreSeckillAttrValue extends BaseModel
  6. {
  7. /**
  8. * 模型名称
  9. * @var string
  10. */
  11. protected $name = 'store_seckill_attr_value';
  12. use ModelTrait;
  13. protected $insert = ['unique'];
  14. protected function setSukAttr($value)
  15. {
  16. return is_array($value) ? implode(',', $value) : $value;
  17. }
  18. protected function setUniqueAttr($value, $data)
  19. {
  20. if (is_array($data['suk'])) $data['suk'] = $this->setSukAttr($data['suk']);
  21. return self::uniqueId($data['product_id'] . $data['suk'] . uniqid(true));
  22. }
  23. public static function decProductAttrStock($productId, $unique, $num)
  24. {
  25. return false !== self::where('product_id', $productId)->where('unique', $unique)
  26. ->dec('stock', $num)->inc('sales', $num)->update();
  27. }
  28. public static function uniqueId($key)
  29. {
  30. return substr(md5($key), 12, 8);
  31. }
  32. public static function clearProductAttrValue($productId)
  33. {
  34. return self::where('product_id', $productId)->delete();
  35. }
  36. }