info_list = ($tmp = Cache::get('lottery_infos')) ? $tmp : []; } /** * 获取已开奖列表 * @return array */ public static function getHasLotteryList(): array { return array_filter(self::getInstance()->info_list, function (array $i) { return $i['lottery_time'] < (time() + 30 * 60); }); } /** * 抽奖是否存在 * @param int $lottery_id * @return bool */ public static function isExist(int $lottery_id): bool { foreach (self::getInstance()->info_list as $item) { if ($item['lottery_id'] === $lottery_id) return true; } return false; } /** * 新增抽奖信息 * @param int $lottery_id * @param string $dynamic_id * @param int $lottery_time * @param int $uid * @param int $group_id * @return void */ public static function add(int $lottery_id, string $dynamic_id, int $lottery_time, int $uid, int $group_id): void { self::getInstance()->info_list[] = [ 'lottery_id' => $lottery_id, 'dynamic_id' => $dynamic_id, 'lottery_time' => $lottery_time, 'uid' => $uid, 'group_id' => $group_id, ]; Cache::set('lottery_infos', self::getInstance()->info_list); } /** * 删除抽奖信息 * @param int $lottery_id * @return void */ public static function delete(int $lottery_id): void { self::getInstance()->info_list = array_filter(self::getInstance()->info_list, function (array $i) use ($lottery_id) { return $i['lottery_id'] === $lottery_id; }); Cache::set('lottery_infos', self::getInstance()->info_list); } }