StoreSeckillAttrValue.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2017/12/08
  6. */
  7. namespace app\admin\model\ump;
  8. use basic\ModelBasic;
  9. use traits\ModelTrait;
  10. class StoreSeckillAttrValue extends ModelBasic
  11. {
  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. }