| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- <?php
- namespace common\models\goods;
- use common\models\base\BaseActiveRecord;
- /**
- * This is the model class for table "qimall_goods_marketing".
- *
- *
- * @property int $id
- * @property int $mall_id
- * @property int $goods_id 商品ID
- * @property string $url 商品主图
- * @property string $chain_url 供应链端商品主图
- * @property int $created_at 创建时间
- * @property int $updated_at 修改时间
- */
- class SupplyChainGoodsPic extends BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%supply_chain_goods_pic}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['mall_id', 'goods_id'], 'integer'],
- [['url', 'chain_url'], 'string', 'max' => 255],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => '商品ID',
- 'goods_id' => '商品ID',
- 'url' => '商品主图',
- 'chain_url' => '供应链端商品主图',
- ];
- }
- /**
- * 获取详情
- *
- * @param integer $goods_id
- * @return SupplyChainGoodsPic|null
- */
- public static function getGoodsPic(int $goods_id)
- {
- return static::find()
- ->select(['id', 'mall_id', 'goods_id', 'chain_url', 'url'])
- ->where(compact('goods_id'))
- ->orderBy('id desc')
- ->one();
- }
- /**
- * 商品主图
- *
- * @param Goods $goods
- * @return SupplyChainGoodsPic|false
- */
- public static function coverPic(Goods $goods)
- {
- $pic = static::getGoodsPic($goods->id);
- if (empty($pic)) return false;
- return $pic;
- }
- /**
- * 商品主图是否变更
- *
- * @param Goods $goods
- * @param SupplyChainGoodsPic $goods_pic
- * @return boolean
- */
- public static function coverPicIsChange(Goods $goods, SupplyChainGoodsPic $goods_pic)
- {
- return $goods_pic->url != $goods->cover_pic;
- }
- /**
- * 修改
- *
- * @param Goods $goods
- * @param string $url
- * @param SupplyChainGoodsPic|false $chain_pic
- * @return void
- */
- public static function updateUrl(Goods $goods, string $url, $chain_pic)
- {
- if ($url) {
- if (!$chain_pic) $chain_pic = new static();
- $chain_pic->goods_id = $goods->id;
- $chain_pic->mall_id = $goods->mall_id;
- $chain_pic->chain_url = $goods->cover_pic;
- $chain_pic->url = $url;
- $goods->cover_pic = $url;
- $chain_pic->save();
- $goods->save();
- } else {
- if ($goods->cover_pic != $chain_pic->url) {
- $goods->cover_pic = $chain_pic->url;
- $goods->save();
- }
- }
- }
- }
|