request->get(); $query = xhActive::find(); $query->where(['merchantId' =>$this->merchantId]); $countQuery = clone $query; $count = $countQuery->count(); $page = isset($get['page']) ? $get['page'] : 1; $pageSize = 20; $offset = ($page - 1) * $pageSize; $models = $query->offset($offset)->orderBy('id desc')->limit($pageSize)->asArray()->all(); $page = new page($count,$page,$pageSize); $paging = $page->fpage(); $now = time(); return $this->render('list', ['models' => $models,'paging' => $paging,'now'=>$now]); } public function actionJoin() { $get = Yii::$app->request->get(); $id = isset($get['id']) ? $get['id'] : 0; $active = xhActiveService::getById($id); if($active['merchantId'] != $this->merchantId){ util::stop('非法访问'); } $query = xhActiveOrder::find(); $query->where(['activeId' =>$id]); $countQuery = clone $query; $count = $countQuery->count(); $page = isset($get['page']) ? $get['page'] : 1; $pageSize = 1000; $offset = ($page - 1) * $pageSize; $models = $query->offset($offset)->orderBy('id desc')->limit($pageSize)->asArray()->all(); $page = new page($count,$page,$pageSize); $paging = $page->fpage(); return $this->render('join',['models' => $models,'paging' => $paging,'active'=>$active]); } public function actionPrint() { $get = Yii::$app->request->get(); $id = isset($get['id']) ? $get['id'] : 0; $active = xhActiveService::getById($id); if($active['merchantId'] != $this->merchantId){ util::stop('非法访问'); } $query = xhActiveOrder::find(); $query->where(['activeId' =>$id]); if($active['needCheck'] == 1){ $query->andWhere(['passStatus'=>1]); } $countQuery = clone $query; $count = $countQuery->count(); $page = isset($get['page']) ? $get['page'] : 1; $pageSize = 1000; $offset = ($page - 1) * $pageSize; $list = $query->offset($offset)->orderBy('id desc')->limit($pageSize)->asArray()->all(); $page = new page($count,$page,$pageSize); $paging = $page->fpage(); return $this->renderPartial('print',['list' => $list,'active' => $active]); } public function actionAdd() { return $this->render('add'); } public function actionSaveAdd() { $post = Yii::$app->request->post(); $now = time(); $date = date("Y-m-d H:i:s",$now); $post['allowNum'] = isset($post['allowNum']) && !empty($post['allowNum']) ? $post['allowNum'] : 0; $startTime = isset($post['startTime']) && !empty($post['startTime']) ? strtotime($post['startTime']) : $now + 600; $endTime = isset($post['endTime']) && !empty($post['endTime']) ? strtotime($post['endTime']) : $now + 86400; $post['startTime'] = $startTime; $post['endTime'] = $endTime; $post['adminId'] = $this->adminId; $post['createTime'] = $date; $post['addTime'] = $now; $post['merchantId'] = $this->merchantId; $post['deadline'] = isset($post['deadline']) && !empty($post['deadline']) ? strtotime($post['deadline']) : $startTime; $price = isset($post['price']) && !empty($post['price']) ? $post['price'] : 0; unset($post['price']); unset($post['_csrf']); unset($post['fee']); if($now > $post['startTime']){ util::failInfo('开始时间小于当前时间'); } if($post['startTime'] > $post['endTime']){ util::failInfo('结束时间小于开始时间'); } if($now > $post['deadline']){ util::failInfo('报名截止时间小于当前时间'); } $active = xhActiveService::add($post); $id = $active['id']; $ticketData = [ 'price' =>$price, 'merchantId' => $this->merchantId, 'activeId' =>$id, 'name' =>'门票', 'createTime' =>date("Y-m-d H:i:s") ]; $ticket = xhActiveTicketClassService::add($ticketData); $ticketId = $ticket['id']; $actData = ['classIdList' =>$ticketId]; xhActiveService::updateById($id, $actData); util::successInfo(); } public function actionEdit(){ $id = Yii::$app->request->get('id'); $active = xhActiveService::getById($id); $this->merchantCheck($active);//检测merchantId数据权限 //票价 $activeTickClass = xhActiveTicketClassService::getById($active['classIdList']); //dump($activeTickClass); $active['price'] = $activeTickClass['price']; $active['activeTickClassId'] = $activeTickClass['id']; return $this->render('edit', ['active'=>$active]); } public function actionUpdate(){ $post = Yii::$app->request->post(); $id = $post['id']; $active = xhActiveService::getById($id); $this->merchantCheck($active);//检测merchantId数据权限 //活动更新 $startTime = isset($post['startTime']) && !empty($post['startTime']) ? strtotime($post['startTime']) : $now + 600; $endTime = isset($post['endTime']) && !empty($post['endTime']) ? strtotime($post['endTime']) : $now + 86400; $post['startTime'] = $startTime; $post['endTime'] = $endTime; $post['deadline'] = isset($post['deadline']) && !empty($post['deadline']) ? strtotime($post['deadline']) : $startTime; xhActiveService::updateById($id, $post); //活动票价更新 xhActiveTicketClassService::updateById($post['activeTickClassId'], ['price'=>$post['price']]); util::successInfo('活动更新成功!'); } public function actionPassCheck(){ $post = Yii::$app->request->post(); $id = $post['id']; $action = $post['action']; $activeOrder = xhActiveOrderService::getById($id); if(empty($activeOrder)){ $this->error(); } if($action == 'pass' && $activeOrder['passStatus'] == 1){ util::failInfo('已是通过状态', 'error'); } if($action == 'failPass' && $activeOrder['passStatus'] == -1){ util::failInfo('已是不通过状态', 'error'); } //更改状态 $passStatus = 0; if($action == 'pass'){ $passStatus = 1; }else if($action == 'failPass'){ $passStatus = -1; }else{ echo '未知道动作状态'; die; } $data = ['passStatus' => $passStatus]; $re = xhActiveOrderService::updateById($id, $data); /*dump($data); dump($re);die;*/ $activity = xhActiveService::getById($activeOrder['activeId']); $mobile = $activeOrder['bookMobile']; if($action == 'pass'){ //发送短信 xhCommonService::sendMobileMsg($mobile, '恭喜您,您报名的课程【'.$activity['title'].'】审核通过了,欢迎您的参加!',$this->merchant); util::successInfo('更新成功', 'success'); } if($action == 'failPass'){ xhCommonService::sendMobileMsg($mobile, '温馨提示:您报名的课程【'.$activity['title'].'】已经满员了哦,敬请期待下次课程!',$this->merchant); util::successInfo('更新成功', 'success'); } } /** * 结束报名 */ public function actionFinish() { $get = Yii::$app->request->get(); $id = isset($get['id']) ? $get['id'] : 0; $active = xhActiveService::getById($id); if($active['merchantId'] != $this->merchantId){ util::failInfo('非法访问'); } $now = time(); xhActiveService::updateById($id, ['deadline'=>$now]); util::successInfo(); } /** * 生成活动链接的二维码地址 */ public function actionShowActQrcode() { $get = Yii::$app->request->get(); $id = isset($get['id']) ? $get['id'] : 0; $url = $this->frontUrl.'/pay/active?id='.$id.'&account='.$this->merchant['id']; $logo = Yii::getAlias("@app").'/../images'.$this->merchant['logo'];//取商家的logo $imgUrl = qrCodeUtil::generate($url,'backend_active_url_'.$this->merchantId.'_'.$id,$logo); $act = xhActiveService::getById($id); if($act['merchantId'] != $this->merchantId){ util::stop('非法访问'); } xhActiveService::updateById($id, ['urlQrCode' => $imgUrl]); util::successInfo('操作成功','A0001',['url' =>$imgUrl]); } public function actionSendActiveUrl() { $get = Yii::$app->request->get(); $id = isset($get['activeId']) ? $get['activeId'] : 0; $active = xhActiveService::getById($id); $name = $active['title']; $url = Yii::$app->params['frontUrl']."/pay/active?id={$id}&account=".$this->merchant['id']; $admin = xhAdminToMerchantService::getAdminByMerchantId($this->merchantId); $openMerchant = xhWxOpenService::getMerchant(); xhTMessageService::sendUrl($url,$name, $openMerchant, $admin); util::successInfo('已发送'); } }