1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- declare (strict_types=1);
- namespace app\common\model\kjactivity;
- use app\common\model\Goods;
- use app\common\model\GoodsSku;
- use app\common\model\BaseModel;
- /**
- * 活动中心 ▸ 砍价活动商品
- * Class Ad
- * @package app\common\model
- */
- class KjActivityGood extends BaseModel
- {
-
- protected $name = 'kj_activity_goods';
- protected $append = ['residue_stock'];
- public function getResidueStockAttr($value,$data){
- if(isset($data['limit_stock']) && isset($data['purchase_stock'])){
- $residue_stock = $data['limit_stock']-$data['purchase_stock'];
- return $residue_stock>0?$residue_stock:0;
- }
- return 0;
- }
- /**
- * 一对多关联商品表
- */
- public function activity(){
- return $this->belongsTo('kj', 'id','activity_id');
- }
- public function add($activity_id, $data){
- // 先删除全部
- static::deleteAll(['activity_id' => $activity_id]);
- if (!empty($data)) {
- // 添加
- $dataset = [];
- foreach ($data as $item) {
- // 商品信息
- $goodsInfo = Goods::detail($item['goods_id']);
- if (empty($goodsInfo)) {
- $this->error = "商品信息错误";
- return false;
- }
- if($item['low_price']>=$goodsInfo['goods_price_min']){
- $this->error = '活动最低价不能大于商品价格';
- return false;
- }
- $dataset[] = [
- 'activity_id' => $activity_id,
- 'goods_id' => $item['goods_id'],
- 'limit_stock' => $item['limit_stock'],
- 'goods_sku_id' => 0,
- 'low_price'=>$item['low_price'],
- 'help_kj_up_cnt'=>$item['help_kj_up_cnt'],
- 'goods_sku_no'=>$goodsInfo['goods_no']
- ];
- }
- (new static)->addAll($dataset);
- return true;
- }
- }
- }
|