isAjax()) { $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $name = input('name', ''); $status = input('status', ''); $condition = []; if ($status !== "") { $condition[] = ['status', '=', $status]; } $condition[] = ['site_id', '=', $this->site_id]; $condition[] = ['name', 'like', '%' . $name . '%']; $data = $hongbao_model->getHongbaoPageList($condition, $page, $page_size); return $data; } else { $hongbao_status = $hongbao_model->getHongbaoStatus(); $this->assign('hongbao_status', $hongbao_status['data']); return $this->fetch("hongbao/lists"); } } /** * 添加活动 * @return mixed */ public function add() { if (request()->isAjax()) { $data = [ 'site_id' => $this->site_id, 'name' => input('name', ''),//活动名称 'money' => input('money', 0),//瓜分金额 'start_time' => strtotime(input('start_time', '')), // 活动开始时间 'end_time' => strtotime(input('end_time', '')), // 活动结束时间 'divide_num' => input('divide_num', 0),//瓜分人数 'image' => input('image', 0),//优惠券图片 'inventory' => input('inventory', ''),//库存 'count' => input('inventory', ''),//发放数量 'divide_time' => input('divide_time', 1),//瓜分有效期 'is_simulation' => input('is_simulation', 0),//是否模拟好友 'is_new' => input('is_new', 0),//仅新人限制 'balance_set' => input('balance_set', 1),//余额设置 'divide_type' => input('divide_type', ''),//瓜分方式 'create_time' => time(),//创建时间 'remark' => input('remark', ''),//活动规则 ]; $hongbao_model = new HongbaoModel(); $res = $hongbao_model->addHongbao($data); return $res; } else { return $this->fetch("hongbao/add"); } } /** * 编辑活动 * @return mixed */ public function edit() { $hongbao_model = new HongbaoModel(); if (request()->isAjax()) { $data = [ 'hongbao_id' => input('hongbao_id', ''), 'site_id' => $this->site_id, 'name' => input('name', ''),//活动名称 'money' => input('money', 0),//瓜分金额 'divide_time' => input('divide_time', 1),//瓜分有效期 'start_time' => strtotime(input('start_time', '')), // 活动开始时间 'end_time' => strtotime(input('end_time', '')), // 活动结束时间 'divide_num' => input('divide_num', 0),//瓜分人数 'image' => input('image', 0),//优惠券图片 'inventory' => input('inventory', ''),//发放数量 'is_simulation' => input('is_simulation', 0),//是否模拟好友 'is_new' => input('is_new', 0),//仅新人限制 'balance_set' => input('balance_set', 1),//余额设置 'divide_type' => input('divide_type', ''),//瓜分方式 'remark' => input('remark', ''),//活动规则 ]; $res = $hongbao_model->editHongbao($data); return $res; } else { $hongbao_id = input('hongbao_id', 0); $this->assign('hongbao_id', $hongbao_id); $condition = [ ['hongbao_id', '=', $hongbao_id], ['site_id', '=', $this->site_id], ]; $hongbao_info = $hongbao_model->getHongbaoInfo($condition); if (empty($hongbao_info['data'])) return $this->error('未获取到裂变红包数据', addon_url('hongbao://shop/hongbao/lists')); $this->assign('hongbao_info', $hongbao_info['data']); return $this->fetch("hongbao/edit"); } } /** * 活动推广 */ public function spreadHongbao() { $hongbao_id = input('hongbao_id', ''); $hongbao_model = new HongbaoModel(); $hongbao_info = $hongbao_model->getHongbaoInfo([['hongbao_id', '=', $hongbao_id]], 'hongbao_id,name,site_id'); $hongbao_info = $hongbao_info['data']; $res = $hongbao_model->spread($hongbao_info['hongbao_id'], $hongbao_info['name'], $this->site_id); return $res; } /** * 关闭活动 */ public function close() { if (request()->isAjax()) { $hongbao_id = input('hongbao_id', 0); $data = [ 'hongbao_id' => $hongbao_id, 'site_id' => $this->site_id, ]; $hongbao_model = new HongbaoModel(); return $hongbao_model->closeHongbao($data); } } /** * 删除活动 */ public function delete() { if (request()->isAjax()) { $hongbao_id = input('hongbao_id', 0); $data = [ 'hongbao_id' => $hongbao_id, 'site_id' => $this->site_id, ]; $hongbao_model = new HongbaoModel(); return $hongbao_model->deleteHongbao($data); } } /** * 运营 */ public function operate() { $hongbao_id = input('hongbao_id', '0'); if (request()->isAjax()) { $page = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $condition = []; $condition[] = ['a.site_id', '=', $this->site_id]; if ($hongbao_id) { $condition[] = ['a.hongbao_id', '=', $hongbao_id]; } $alias = 'a'; $join = [ ['promotion_hongbao p', 'a.hongbao_id = p.hongbao_id', 'left'], ['member m', 'a.header_id = m.member_id', 'left'], ]; $field = 'a.*,p.name,m.username,m.nickname,m.headimg'; $hongbao_group_model = new HongbaoGroup(); $data = $hongbao_group_model->getHongbaoGroupPageList($condition, $page, $page_size, 'a.group_id desc', $field, $alias, $join); return $data; } else { $this->assign('hongbao_id', $hongbao_id); return $this->fetch("hongbao/operate"); } } /** * 邀请人 */ public function groupMember() { $group_id = input('group_id', '0'); if (request()->isAjax()) { $hongbao_group_model = new HongbaoGroup(); $condition = []; $condition[] = ['a.group_id', '=', $group_id]; $condition[] = ['a.site_id', '=', $this->site_id]; $field = 'a.*,p.divide_num,p.money'; $join = [ ['promotion_hongbao p', 'a.hongbao_id = p.hongbao_id', 'left'], ]; $data = $hongbao_group_model->getHongbaoGroupInfo($condition,$field, $alias = 'a', $join); $member_arr['code'] = 0; $member_arr['data']['list'] = $data['data']['member_list'] ??[]; if($member_arr['data']['list']){ foreach ($member_arr['data']['list'] as $k=>$v){ $member_arr['data']['list'][$k]['divide_num'] = $data['data']['divide_num']; $member_arr['data']['list'][$k]['money'] = $data['data']['money']; $member_arr['data']['list'][$k]['balance_money'] = $v['money'] ?? ''; } } return $member_arr; } else { $this->assign('group_id', $group_id); return $this->fetch("hongbao/group_member"); } } }