public function actionWinner($id)
 {
     $auction = Auction::findOne($id);
     if ($auction) {
         $auction->status = 'INACTIVE';
         if ($auction->save()) {
             $return = $id . '-';
             if (!$auction->user_id) {
                 $return .= '/';
             } elseif ($auction->user_id == Yii::$app->user->id) {
                 $return .= '+';
             } else {
                 $return .= $auction->user_id;
             }
             echo $return;
         } else {
             echo "no save " . $id;
         }
     } else {
         echo "no auction " . $id;
     }
 }
 private function composeRankInfo($auctionId, $price)
 {
     $user = Yii::$app->session->get('user');
     if (empty($user)) {
         $this->goHome();
     }
     $lang = Util::getLanguage();
     $bidOnce = Bid::find()->where(['auction_id' => $auctionId, 'user_id' => $user->id])->exists();
     if (!$bidOnce && !$price) {
         $rank = 0;
         $class = 'init';
         $message = $lang == 'en' ? 'I am not bidding!' : '我未出价!';
         return [$rank, $class, $message];
     }
     $rank = Bid::find()->where(['auction_id' => $auctionId])->andWhere(['>=', 'offer', $price])->andWhere(['not', ['user_id' => $user->id]])->count(1) + 1;
     $auction = Auction::findOne($auctionId);
     if ($rank == 1) {
         $class = 'success';
         $message = $lang == 'en' ? 'I am winning!' : '恭喜,领先!';
     } elseif ($rank < $auction->seats) {
         $class = 'warning';
         $message = $lang == 'en' ? "I am ranking {$rank}" : '我排在第' . $rank . '名!';
     } else {
         $class = 'fail';
         $message = $lang == 'en' ? ' I am out of bid!' : '我已出局!';
     }
     return [$rank, $class, $message];
 }