<?php

namespace App\Http\Controllers\Api\Crontab;

use App\Http\Controllers\Api\ApiBaseController;
use App\Models\TalentHouse;
use App\Models\TalentHouseApply;
use App\Models\TalentHousePeople;

class OneHourController extends ApiBaseController
{
    public function index()
    {
        $this->clearSock();
        $this->removeBlacklist();
    }

    /**
     * 人才购房 - 清除名额锁定
     */
    private function clearSock()
    {
        $list = TalentHouse::where('is_end', 2)->where('supply_time', '<=', date('Y-m-d H:i:s'))->get();
        if ($list->isEmpty()) {
            return true;
        }

        foreach ($list as $v) {
            TalentHouseApply::where('house_id', $v['id'])->where('status', '<>', 2)->update(['is_sock' => 2]);
            $v->is_end = 1;
            $v->save();
        }

        return true;
    }

    /**
     * 人才购房 - 解除黑名单
     */
    private function removeBlacklist()
    {
        TalentHousePeople::where('end_time', '<', date('Y-m-d H:i:s'))
            ->where('status', 2)
            ->update(['status' => 1, 'end_time' => null, 'comment' => '']);

        return true;
    }
}