| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- <?php
- namespace App\Command\Init;
- use App\Model\CreatorModel;
- use App\Model\UserModel;
- use App\Repositories\Service\CommonService;
- use App\Repositories\Utils\RandomUserInfoRepository;
- use Carbon\Carbon;
- use Hyperf\Command\Command as HyperfCommand;
- use Psr\Container\ContainerInterface;
- use Hyperf\Command\Annotation\Command;
- /**
- * @Command
- */
- #[Command]
- class UserBotCommand extends HyperfCommand
- {
- /**
- * 执行的命令行
- *
- * @var string
- */
- protected $name = 'init:user_bot';
- protected $arrBotAvatars = [];
- /**
- * @var ContainerInterface
- */
- protected $container;
- public function __construct(ContainerInterface $container)
- {
- $this->container = $container;
- parent::__construct($this->name);
- }
- public function configure()
- {
- parent::configure();
- $this->setDescription('初始化普通用户1000和机器人20.');
- $this->addUsage(" 无参数");
- }
- public function handle()
- {
- self::createBots();
- self::createUsers();
- $nowDate = Carbon::now()->toDateTimeString();
- $this->comment(sprintf('[%s]初始化机器人和用户完成', $nowDate));
- }
- private function createOneUser($params = [])
- {
- if (empty($params['avatar'])) {
- $avatarNumber = str_pad((string)rand(1, 11), '3', '0', STR_PAD_LEFT);
- $avatar = sprintf('f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/a_%s.ceb', $avatarNumber);
- } else {
- $avatar = $params['avatar'];
- }
- $deviceNo = 'dk_'. substr(md5(random(11) . (string)time()), 0, 21);
- $fingerHash = substr(md5('fg_dk_'. $deviceNo) . random(7), 0, 25);
- $setarr = [
- 'ip' => '113.238.142.208',
- 'avatar' => $avatar,
- 'device_no' => $deviceNo,
- 'parent_uid' => $parentUid ?? '',
- 'channel_id' => '',
- 'device_type' => self::randDeviceType(),
- 'version' => '1.0.0',
- 'finger_hash' => $fingerHash,
- 'last_login_at' => Carbon::now()->toDateTimeString(),
- 'nick' => RandomUserInfoRepository::getNickname(),
- 'status' => 1,
- 'max_view' => 0,
- 'vip_expired' => Carbon::now()->addDays(300)->toDateTimeString(),
- 'max_comment' => 1,
- 'vip_level' => rand(1, 5),
- 'creator_level' => 5, // 冗余创作者等级.
- ];
- if (!empty($params)) {
- $setarr = array_merge($setarr, $params);
- }
- $user = UserModel::query()->create($setarr);
- $code = hashEncodeId($user->id);
- $user->code = $code;
- $user->save();
- // 添加创作者表
- $this->createOneCreator($user);
- return $user;
- }
- private function createOneCreator($botUser) {
- $setarr = [
- 'user_uid' => $botUser->code,
- 'is_bot' => 1,
- 'status' => 1,
- 'level' => 5,
- 'reject_reason' => '',
- 'apply_at' => Carbon::now()->addMinutes(5)->toDateTimeString(),
- 'reject_at' => null,
- 'day_video' => 0,
- ];
- $r = CreatorModel::query()->create($setarr);
- return $r;
- }
- private function createBots()
- {
- $avatar = 'f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/default.ceb';
- $params = [
- 'gender' => 3,
- 'avatar' => '',
- ];
- $maxNum = 100;
- $arrAvatars = $this->getAllBotAvatars();
- for($i = 0; $i < $maxNum; $i++) {
- $params['avatar'] = $arrAvatars[$i];
- $user = self::createOneUser($params);
- }
- }
- private function createUsers()
- {
- $maxNum = 2300;
- for ($i = 0; $i < $maxNum; $i++) {
- $params = [
- 'gender' => rand(1, 2),
- ];
- $user = self::createOneUser($params);
- }
- }
- private function randDeviceType()
- {
- $arrTypes = [
- 'A',
- 'I',
- ];
- $key = array_rand($arrTypes);
- return $arrTypes[$key];
- }
- private function getAllBotAvatars()
- {
- if (empty($this->arrBotAvatars)) {
- $strJson = '["f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/08MvJ5Zj.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/0VgzXv8C.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/0fSiUgdN.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/0n0N0m74.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/0ySy0PBd.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/11D8CWG1.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/1eaXux1a.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/203z0bUo.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/2436129P.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/2z8Ud88D.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/3C37z9RP.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/3yLdjbaG.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/3yh49244.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/4mMwDB0a.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/51p7YDSE.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/53q99k1k.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/5D9q5B6l.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/5qMoFVQv.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/5z88Hj3u.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/67R3F793.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/69119uuf.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/6Gpv8m8z.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/6TXmpI1D.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/6Z7BB299.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/72LZ98MY.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/7ICUq0Wd.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/7iZT7Ljx.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/87vmjkma.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/8SUzx0xS.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/8eP115sm.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/910PTqia.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/9Rdy6dPS.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/9rM8M9qP.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/A0v0cV0v.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/AOTGvJi1.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Bb9lJj79.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/D8Sz67go.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Ee7u15vZ.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/EuBeHYz2.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/F3FqCOQ7.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/FbZP9F2R.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Ie89UuAM.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Jo4Fp7p9.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Kz6Fd1KW.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/L9933Qlh.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/LH33d1eE.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/LNh8L1N1.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/MERquYZm.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Ns3sCdiI.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/OO7L8L8C.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/OrQ11O2n.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Pba5pprg.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Q9rvoX4x.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/QDtiT2z2.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/QlWpJvPQ.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Rtgvfy21.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/SJRPRP2j.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/SmnI31sY.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/U1zwhawC.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Vyy5u7Yw.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/W38epX9c.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/XPxYQx06.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Xb6Q555t.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Y0zDSh7X.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/YH6164aU.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/YSuwzz44.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Z7Ux8R62.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/ZNzVT6ZE.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/Zf82zb70.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/bRfrJzpP.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/cTPTTrRY.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/dT5a9DU6.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/eeHHf2fz.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/exWKRWwx.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/iCkaImmM.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/iINr6idK.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/jlaAb5fX.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/kkk8YvAv.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/kzAtHnGU.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/lFDMEfTm.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/lWo2eE60.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/n59lQl5e.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/n94NnkZf.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/nEdKZE2j.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/nUpurPqU.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/oOVzZOho.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/rs8zodK7.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/siQ4Or9L.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/tLu58uHl.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/tffoz088.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/ty7TbO37.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/ua1IV1e1.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/um9C8ASj.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/vr84sVCn.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/wyzTvhhW.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/xH1LzYZL.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/xqp6v8xZ.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/y7eyWZL7.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/y8lO7MkX.ceb","f2|/'. env('STATIC_DIR_NAME', 'doukui') . '/avatars/b1/zTlWT5f5.ceb"]';
- $strJson = trim($strJson);
- $this->arrBotAvatars = json_decode($strJson, true);
- }
- return $this->arrBotAvatars;
- }
- }
|