/**
  * Displays a single ActivityUsers model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     $model = $this->findModel($id);
     $model->activityName = Activity::getOneActivityNameById($model->activity_id);
     $model->userName = Users::getOneUserNameById($model->user_id);
     return $this->render('view', ['model' => $model]);
 }
 public function actionApplySuccess()
 {
     $activityUserId = Yii::$app->request->get('id');
     $activityUser = ActivityUsers::findOne(['id' => $activityUserId]);
     $maxCount = ActivityUsers::getMaxSignUpOrder($activityUser['activity_id']);
     $activityName = Activity::getOneActivityNameById($activityUser['activity_id']);
     $data = ['maxCount' => $maxCount, 'activityName' => $activityName];
     return $this->redirect(['/activity/apply-success', 'data' => $data]);
 }
예제 #3
0
?>

<div class="attendance-form">

    <?php 
$form = ActiveForm::begin();
?>


    <div class="form-group field-trainusers-trainname">
        <label class="control-label" for="trainusers-trainname">参与培训课程:</label>
        <a href="/Admin/train/index?TrainSearch[id]=<?php 
echo $model->activity_id;
?>
" target="_blank" style="width:300px"><?php 
echo \app\models\Activity::getOneActivityNameById($model->activity_id);
?>
</a>
        <div class="help-block"></div>
    </div>
    <div class="form-group field-trainusers-username">
        <label class="control-label" for="trainusers-username">参与学员:</label>
        <a href="/Admin/users/index?UsersSearch[id]=<?php 
echo $model->activity_id;
?>
" target="_blank" style="width:300px"><?php 
echo \app\models\Users::getOneUserNameById($model->user_id);
?>
</a>
        <div class="help-block"></div>
    </div>
 public function actionActivityApply()
 {
     $activityId = Yii::$app->request->get('id');
     $activityInfo = Activity::findOne(['id' => $activityId]);
     $levelId = $activityInfo['level_id'];
     if ($activityInfo['status'] != Activity::BEGIN_SIGN_UP) {
         throw new ServerErrorHttpException('该活动的状态不是开始报名,谢谢。');
     }
     if (Yii::$app->user->isGuest) {
         return $this->redirect('/login/login');
     } else {
         $userId = Yii::$app->user->id;
         if (Yii::$app->user->identity->status != '1') {
             throw new ServerErrorHttpException('系统错误,原因:您目前的状态是未审核,不能报名活动,谢谢。');
         }
         $activityLevelInfo = Level::findOne(['id' => $activityInfo['level_id']]);
         if ($activityLevelInfo['order'] != Yii::$app->user->identity->level_order) {
             throw new ServerErrorHttpException('系统错误,原因:您目前没有权限报名该级别下的活动,谢谢。');
         }
         //检查用户参与的活动,状态不是取消的都算是已经参与了报名
         $isExist = ActivityUsers::getUserIsExistActivityStatus($userId, $activityInfo['level_id']);
         if (!empty($isExist)) {
             throw new ServerErrorHttpException('系统错误,原因:您已经参与了该级别下的活动,请耐心等待活动结果,谢谢。');
         }
         //报名成功,给出用户的序号
         $activityUsersOrder = ActivityUsers::getActivityUsersOrder($userId, $activityId);
         if (empty($activityUsersOrder)) {
             $activityUsersOrder = 1;
         }
         $transaction = Yii::$app->db->beginTransaction();
         $data = ['activity_id' => $activityId, 'user_id' => $userId, 'status' => ActivityUsers::APPROVED, 'level_id' => $levelId, 'orders' => $activityUsersOrder];
         $model = new ActivityUsers();
         $model->setAttributes($data);
         if ($model->save()) {
             $activityUserId = $model->id;
             $activityUser = ActivityUsers::findOne(['id' => $activityUserId]);
             $activityName = Activity::getOneActivityNameById($activityUser['activity_id']);
             $data = ['orders' => $activityUser['orders'], 'activityName' => $activityName];
             //新增一条用户和级别对应的信息
             $result = UsersLevel::updateAll(['activity_id' => $activityId], ['user_id' => $userId, 'level_id' => $levelId]);
             if (!$result) {
                 $transaction->rollBack();
                 throw new ServerErrorHttpException('更新状态错误,原因:更新数据库错误!');
             } else {
                 $transaction->commit();
             }
             return $this->render('/activity/apply-success', ['data' => $data]);
         } else {
             throw new ServerErrorHttpException('系统错误,原因:' . json_encode($model->errors, JSON_UNESCAPED_UNICODE));
         }
     }
 }