=', strtotime($param['start_time'])]; $filter[] = ['end_time', '<=', strtotime($param['end_time'])]; } $order = ['create_time' => 'desc']; if (!empty($param['order'])) { $order = [$param['order_field'] => $param['order']]; } return $this->with(['file']) ->where($filter) ->order($order) ->paginate([ 'list_rows' => $param['list_rows'] ?? 15, 'query' => $param ]); } /** * 添加团购活动 */ public function add($data) { $this->startTrans(); try { // 格式化数据 $data['start_time'] = strtotime($data['start_time']); $data['end_time'] = strtotime($data['end_time']); $result = $this->save($data); $this->commit(); return $result !== false; } catch (\Exception $e) { $this->rollback(); $this->error = $e->getMessage(); return false; } } /** * 编辑团购活动 */ public function edit($data) { $this->startTrans(); try { // 格式化数据 if (isset($data['start_time'])) { $data['start_time'] = strtotime($data['start_time']); } if (isset($data['end_time'])) { $data['end_time'] = strtotime($data['end_time']); } $result = $this->save($data); $this->commit(); return $result !== false; } catch (\Exception $e) { $this->rollback(); $this->error = $e->getMessage(); return false; } } /** * 更新状态 */ public function updateStatus($status) { return $this->save(['status' => $status]) !== false; } /** * 删除团购活动 */ public function remove() { // 检查是否有团购商品关联 $productModel = new \app\supplier\model\plus\groupbuy\Product(); $count = $productModel->where('groupbuy_active_id', $this->groupbuy_active_id)->count(); if ($count > 0) { $this->error = '该活动下还有团购商品,无法删除'; return false; } return $this->delete(); } }