123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace app\admin\model\shopro;
- use app\admin\model\shopro\Common;
- use app\admin\model\shopro\goods\Goods;
- use app\admin\model\shopro\goods\SkuPrice;
- use addons\shopro\facade\Activity as ActivityFacade;
- class Cart extends Common
- {
- protected $name = 'shopro_cart';
- // 追加属性
- protected $append = [
- ];
- //选中状态
- const CHOOSE_ON = 1; //选中
- const CHOOSE_OFF = 0; //未选中
- /**
- * 获取器获取所有活动
- *
- * @param string $value
- * @param array $data
- * @return array
- */
- public function getActivitiesAttr($value, $data)
- {
- $activities = ActivityFacade::getGoodsActivitys($data['id']);
- return $activities;
- }
- public function getStatusAttr($value, $data)
- {
- $status = 'normal';
- if (!$this->goods || !is_null($this->goods->deletetime) || !$this->sku_price) {
- $status = 'deleted'; // 已删除
- } else if ($this->goods->status == 'down' || $this->sku_price->status == 'down') {
- $status = 'down'; // 已下架
- }
- return $status;
- }
- public function getTagsAttr($value, $data)
- {
- $tags = [
- 'activity' => [],
- ];
- $activities = $this->activities;
- foreach ($activities as $activity) {
- $tags['activity'][] = $activity['type_text'] . $activity['status_text'];
- }
- if ($this->sku_price && $this->sku_price->price < $data['snapshot_price']) {
- // 当前规格价格,低于加入购物车时候的价格,则提示商品比加入时降价
- $tags['price'] = '距加入降 ¥ ' . bcsub($data['snapshot_price'], $this->sku_price->price, 2);
- }
- }
- public function goods()
- {
- return $this->belongsTo(Goods::class, 'goods_id');
- }
- public function skuPrice()
- {
- return $this->belongsTo(SkuPrice::class, 'goods_sku_price_id');
- }
- }
|