GoodsSku.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace app\common\model\sharing;
  3. use app\common\library\helper;
  4. use app\common\model\BaseModel;
  5. /**
  6. * 拼团商品SKU模型
  7. * Class GoodsSku
  8. * @package app\common\model\sharing
  9. */
  10. class GoodsSku extends BaseModel
  11. {
  12. protected $name = 'sharing_goods_sku';
  13. protected $append = ['diff_price'];
  14. /**
  15. * 规格图片
  16. * @return \think\model\relation\HasOne
  17. */
  18. public function image()
  19. {
  20. $module = self::getCalledModule() ?: 'common';
  21. return $this->hasOne("app\\{$module}\\model\\UploadFile", 'file_id', 'image_id');
  22. }
  23. /**
  24. * 获取器:拼团价与划线价差额
  25. * @param $value
  26. * @param $data
  27. * @return mixed
  28. */
  29. public function getDiffPriceAttr($value, $data)
  30. {
  31. return max(0, helper::bcsub($data['line_price'], $data['sharing_price']));
  32. }
  33. /**
  34. * 获取sku信息详情
  35. * @param $goodsId
  36. * @param $specSkuId
  37. * @return GoodsSku|null
  38. * @throws \think\exception\DbException
  39. */
  40. public static function detail($goodsId, $specSkuId)
  41. {
  42. return static::get(['goods_id' => $goodsId, 'spec_sku_id' => $specSkuId]);
  43. }
  44. }