start_time) { $d = Date("d",time()); // 2022-01-01 15:00:00; if($d==substr($this->start_time,8,2)){ return [1,substr($this->start_time,11,5).'开始秒杀']; }else{ return [2,'即将开始']; } } if ($now > $this->end_time) { return [3,'秒杀结束']; } if($now>$this->start_time&&$now<$this->end_time){ return [4,'秒杀中']; } return [0,'']; } /** * 一对多关联商品表 */ public function activity(){ return $this->belongsTo('MsActivity', 'id','activity_id'); } public function add($activity_id, $data){ // 先删除全部 static::deleteAll(['ms_activity_id' => $activity_id]); if (!empty($data)) { // 添加 $dataset = []; foreach ($data as $item) { // 商品信息 $goodsInfo = Goods::detail($item['goods_id'],['images.file']); if (empty($goodsInfo)) { $this->error = "商品信息错误"; return false; } // $goodsSku = GoodsSku::detail($item['goods_id'], $item['goods_sku_id']); if($item['ms_price']>$goodsInfo['goods_price_min']){ $this->error = '秒杀价不能大于商品价格'; return false; } // $goodsSku = GoodsSku::detail($item['goods_id'], $item['goods_sku_id']); // if (empty($goodsSku)) { // $this->error = "商品sku信息错误"; // return false; // } $start_time = trim($item['start_time'], '"'); $start_time = str2time_date_format($start_time); $end_time = trim($item['end_time'], '"'); $end_time = str2time_date_format($end_time); $dataset[] = [ 'ms_activity_id' => $activity_id, 'goods_id' => $item['goods_id'], 'goods_sku_id' => $item['goods_sku_id'], 'ms_price' => $item['ms_price'], 'goods_price' => $goodsInfo['goods_price_min'], 'limit_mount' => $item['limit_mount']??0, 'stock_num' => $item['stock_num'], 'limit_stock'=>$item['stock_num'], 'goods_sku_no' => $goodsInfo['goods_no'], 'start_time' => Date("Y-m-d H:i:s",$start_time), 'end_time' => Date("Y-m-d H:i:s",$end_time), 'goods_name' => $goodsInfo['goods_name']??'', 'preview_url' => $goodsInfo['images'][0]['file']['preview_url']??'', ]; } (new static)->addAll($dataset); return true; } } }