SupplyChainGoodsPic.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace common\models\goods;
  3. use common\models\base\BaseActiveRecord;
  4. /**
  5. * This is the model class for table "qimall_goods_marketing".
  6. *
  7. *
  8. * @property int $id
  9. * @property int $mall_id
  10. * @property int $goods_id 商品ID
  11. * @property string $url 商品主图
  12. * @property string $chain_url 供应链端商品主图
  13. * @property int $created_at 创建时间
  14. * @property int $updated_at 修改时间
  15. */
  16. class SupplyChainGoodsPic extends BaseActiveRecord
  17. {
  18. /**
  19. * {@inheritdoc}
  20. */
  21. public static function tableName()
  22. {
  23. return '{{%supply_chain_goods_pic}}';
  24. }
  25. /**
  26. * {@inheritdoc}
  27. */
  28. public function rules()
  29. {
  30. return [
  31. [['mall_id', 'goods_id'], 'integer'],
  32. [['url', 'chain_url'], 'string', 'max' => 255],
  33. ];
  34. }
  35. /**
  36. * {@inheritdoc}
  37. */
  38. public function attributeLabels()
  39. {
  40. return [
  41. 'id' => 'ID',
  42. 'mall_id' => '商品ID',
  43. 'goods_id' => '商品ID',
  44. 'url' => '商品主图',
  45. 'chain_url' => '供应链端商品主图',
  46. ];
  47. }
  48. /**
  49. * 获取详情
  50. *
  51. * @param integer $goods_id
  52. * @return SupplyChainGoodsPic|null
  53. */
  54. public static function getGoodsPic(int $goods_id)
  55. {
  56. return static::find()
  57. ->select(['id', 'mall_id', 'goods_id', 'chain_url', 'url'])
  58. ->where(compact('goods_id'))
  59. ->orderBy('id desc')
  60. ->one();
  61. }
  62. /**
  63. * 商品主图
  64. *
  65. * @param Goods $goods
  66. * @return SupplyChainGoodsPic|false
  67. */
  68. public static function coverPic(Goods $goods)
  69. {
  70. $pic = static::getGoodsPic($goods->id);
  71. if (empty($pic)) return false;
  72. return $pic;
  73. }
  74. /**
  75. * 商品主图是否变更
  76. *
  77. * @param Goods $goods
  78. * @param SupplyChainGoodsPic $goods_pic
  79. * @return boolean
  80. */
  81. public static function coverPicIsChange(Goods $goods, SupplyChainGoodsPic $goods_pic)
  82. {
  83. return $goods_pic->url != $goods->cover_pic;
  84. }
  85. /**
  86. * 修改
  87. *
  88. * @param Goods $goods
  89. * @param string $url
  90. * @param SupplyChainGoodsPic|false $chain_pic
  91. * @return void
  92. */
  93. public static function updateUrl(Goods $goods, string $url, $chain_pic)
  94. {
  95. if ($url) {
  96. if (!$chain_pic) $chain_pic = new static();
  97. $chain_pic->goods_id = $goods->id;
  98. $chain_pic->mall_id = $goods->mall_id;
  99. $chain_pic->chain_url = $goods->cover_pic;
  100. $chain_pic->url = $url;
  101. $goods->cover_pic = $url;
  102. $chain_pic->save();
  103. $goods->save();
  104. } else {
  105. if ($goods->cover_pic != $chain_pic->url) {
  106. $goods->cover_pic = $chain_pic->url;
  107. $goods->save();
  108. }
  109. }
  110. }
  111. }