| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- declare(strict_types=1);
- namespace App\Repositories;
- use App\Model\UserModel;
- use App\Model\VersionModel;
- use Hyperf\Database\Model\Builder;
- use KZ2\Repositories\Model\Repository;
- use App\Repositories\Utils\RandomUserInfoRepository;
- use Psr\SimpleCache\CacheInterface;
- class VersionRepository extends Repository
- {
- /**
- * @return Builder|mixed|string
- */
- public function model()
- {
- return UserModel::class;
- }
- /**
- * 随机产生昵称.
- * @return string
- */
- public function randGenerateNick()
- {
- return RandomUserInfoRepository::getNickname();
- }
- /**
- * 随机产生设备号
- * @return string
- */
- public function randGenerateDeviceNo()
- {
- return strtolower(random(32));
- }
- /**
- * 获取最新的强制版本信息.
- * @param $deviceType
- * @return mixed
- */
- public function getLastForce($deviceType)
- {
- $cacheVersionKey = 'force_version:' . $deviceType;
- $lastForceVersionInfo = make(CacheInterface::class)->remember(
- $cacheVersionKey,
- 60 * 60,
- function () use ($deviceType) {
- $conditions = [
- 'status' => 1,
- 'device_type' => $deviceType,
- 'version_type' => 'free',
- 'force' => 1,
- ];
- $item = VersionModel::query()->where($conditions)->orderByDesc('version_code')->first();
- if (!empty($item)) {
- $item = $item->toArray();
- return $item;
- } else {
- return null;
- }
- }
- );
- return $lastForceVersionInfo;
- }
- }
|