isAjax()) { $condition = [ [ 'site_id', '=', $this->site_id ], [ 'is_del', '=', 1 ] ]; $status = input('status', '');//团购状态 if ($status !== '') { $condition[] = [ 'status', '=', $status ]; } $start_time = input('start_time', ''); $end_time = input('end_time', ''); if ($start_time && !$end_time) { $condition[] = [ 'end_time', '>=', date_to_time($start_time) ]; } elseif (!$start_time && $end_time) { $condition[] = [ 'start_time', '<=', date_to_time($end_time) ]; } elseif ($start_time && $end_time) { $start_timestamp = date_to_time($start_time); $end_timestamp = date_to_time($end_time); $sql = "start_time between {$start_timestamp} and {$end_timestamp}"; $sql .= " or end_time between {$start_timestamp} and {$end_timestamp}"; $sql .= " or (start_time <= {$start_timestamp} and end_time >= {$end_timestamp})"; $condition[] = [ '', 'exp', \think\facade\Db::raw($sql) ]; } //排序 $order = input('order', 'create_time'); $sort = input('sort', 'desc'); if ($order == 'create_time') { $order_by = $order . ' ' . $sort; } else { $order_by = $order . ' ' . $sort . ',create_time desc'; } $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $list = $model->getActivityPageList($condition, $page, $page_size, $order_by); return $list; } else { return $this->fetch("activity/lists"); } } /** * 添加活动 */ public function add() { if (request()->isAjax()) { //获取商品信息 $data = [ 'site_id' => $this->site_id, 'activity_image' => json_encode(input('activity_image','')), 'activity_price' => input('activity_price',0), 'remark' => input('remark',''), 'content' => input('content',''), 'audio_url' => input('audio_url',''), 'goods_ids' => json_encode(input('goods_ids','')), 'start_time' => strtotime(input('start_time', '')), 'end_time' => strtotime(input('end_time', '')), 'template_id' => input('template_id',0), 'form_id' => input('form_id',0), 'payee_name' => input('payee_name',''), 'payee_account' => input('payee_account',''), 'divide_money_ids' => json_encode(input('divide_money_ids','')), 'virtual_sale' => input('virtual_sale',0), 'buy_agreement' => input('buy_agreement',''), 'is_recycle_integral' => input('is_recycle_integral',0), 'create_time' => time(), 'status' => 0 ]; $model = new ActivityModel(); return $model->addActivity($data); } else { //获取海报 $poster_template_model = new PosterTemplateModel(); $poster_list = $poster_template_model->getPosterTemplateList([['site_id', '=', $this->site_id], ['template_status', '=', 1]], 'template_id,poster_name,site_id'); $this->assign('poster_list', $poster_list['data']); // $this->assign('virtualcard_exit', addon_is_exit('virtualcard', $this->site_id)); $form_is_exit = addon_is_exit('form', $this->site_id); if ($form_is_exit) { $form_list = (new Form())->getFormList([['site_id', '=', $this->site_id], ['form_type', '=', 'custom'], ['is_use', '=', 1]], 'id desc', 'id, form_name')['data']; $this->assign('form_list', $form_list); } $this->assign('form_is_exit', $form_is_exit); $divide_money_is_exit = addon_is_exit('dividemoney', $this->site_id); $this->assign('divide_money_is_exit', $divide_money_is_exit); return $this->fetch("activity/add"); } } /** * 编辑活动 */ public function edit() { $activity_id = input('activity_id', ''); $model = new ActivityModel(); if (request()->isAjax()) { //获取商品信息 $data = [ 'site_id' => $this->site_id, 'activity_image' => json_encode(input('activity_image','')), 'activity_price' => input('activity_price',0), 'remark' => input('remark',''), 'content' => input('content',''), 'audio_url' => input('audio_url',''), 'goods_ids' => json_encode(input('goods_ids','')), 'start_time' => strtotime(input('start_time', '')), 'end_time' => strtotime(input('end_time', '')), 'template_id' => input('template_id',0), 'form_id' => input('form_id',0), 'payee_name' => input('payee_name',''), 'payee_account' => input('payee_account',''), 'divide_money_ids' => json_encode(input('divide_money_ids','')), 'virtual_sale' => input('virtual_sale',0), 'buy_agreement' => input('buy_agreement',''), 'is_recycle_integral' => input('is_recycle_integral',0), 'update_time' => time(), ]; return $model->editActivity($activity_id, $data, $this->site_id); } else { //获取海报 $poster_template_model = new PosterTemplateModel(); $poster_list = $poster_template_model->getPosterTemplateList([['site_id', '=', $this->site_id], ['template_status', '=', 1]], 'template_id,poster_name,site_id'); $this->assign('poster_list', $poster_list['data']); $form_is_exit = addon_is_exit('form', $this->site_id); if ($form_is_exit) { $form_list = (new Form())->getFormList([['site_id', '=', $this->site_id], ['form_type', '=', 'goods'], ['is_use', '=', 1]], 'id desc', 'id, form_name')['data']; $this->assign('form_list', $form_list); }else{ $this->assign('form_list', []); } $this->assign('form_is_exit', $form_is_exit); $divide_money_is_exit = addon_is_exit('dividemoney', $this->site_id); $this->assign('divide_money_is_exit', $divide_money_is_exit); //获取团购信息 $condition = [ [ 'activity_id', '=', $activity_id ], [ 'site_id', '=', $this->site_id ], [ 'is_del', '=', 1 ] ]; $info = $model->getActivityInfo($condition)[ 'data' ]; if (empty($info)) $this->error('未获取到活动数据', addon_url('activity://shop/activity/lists')); $divide_list = []; if(count($info['divide_money_ids']) > 0 && $divide_money_is_exit){ $divide_list = (new DividemoneyAccount())->getDivideList([['site_id','=', $this->site_id],['id', 'in', $info['divide_money_ids']]],'id,account,realname'); } $this->assign('divide_list', $divide_list); $this->assign('info', $info); return $this->fetch("activity/edit"); } } /* * 删除团购活动 */ public function delete() { $activity_id = input('activity_id', ''); $groupbuy_model = new ActivityModel(); return $groupbuy_model->deleteActivity($activity_id, $this->site_id); } /** * 团购推广 */ public function activityUrl() { $activity_id = input('activity_id', ''); $model = new ActivityModel(); $res = $model->urlQrcode('/pages_promotion/activity/detail', [ 'id' => $activity_id ], 'activity', $this->site_id); return $res; } }