コード例 #1
0
ファイル: Auction.php プロジェクト: qnck/qingnianchuangke
 public static function cronYouCheater()
 {
     $date = Tools::getNow(false);
     $now = $date->format('Y-m-d H:i:s');
     $date->modify('-2 days');
     $end = $date->format('Y-m-dH:i:s');
     $auction = Auction::join('event_items', function ($q) {
         $q->on('event_items.e_id', '=', 'auctions.e_id');
     })->where('event_items.e_end_at', '<', $end)->where(function ($q) {
         $q->where('auctions.a_status', '=', 2)->orWhere('auctions.a_status', '=', 1);
     })->first();
     if (empty($auction)) {
         throw new Exception("没有需要处理的竞拍", 2000);
     }
     if ($auction->a_status == 2 && $auction->a_win_id) {
         $win = AuctionBid::find($auction->a_win_id);
         if (!empty($win)) {
             $date->modify('+10 days');
             $end = $date->format('Y-m-d H:i:s');
             $blacklist = new AuctionBlacklist();
             $blacklist->u_id = $win->u_id;
             $blacklist->a_id = $auction->a_id;
             $blacklist->start_at = $now;
             $blacklist->end_at = $end;
             $blacklist->remart = '超时未购买';
             $blacklist->save();
         }
     }
     $auction->a_status = 4;
     $auction->save();
     return true;
 }