1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Bear
- * Date: 2020/6/29
- * Time: 上午11:27
- */
- namespace app\admin\command;
- use app\admin\service\LogService;
- use app\common\library\Redis;
- use app\main\constants\AdminConstants;
- use app\main\constants\CacheConstants;
- use app\main\constants\UserConstants;
- use app\main\service\OrderService;
- use app\main\service\UserService;
- use app\source\model\UserUpdate;
- use think\Config;
- use think\console\Input;
- use think\console\Output;
- use think\Request;
- class ClearUserBlack extends BaseCommand
- {
- public function Configure()
- {
- $this
- ->setName('clearUserBlack')
- ->setDescription('clear black user for channel');
- }
- public function run(Input $input, Output $output)
- {
- Request::instance()->module('admin');
- $channelList = model('admin_config')->where('JSON_EXTRACT(extend,"$.clear") = ' . AdminConstants::ADMIN_EXTEND_CLEAR_WAITING)->column('admin_id');
- if ($channelList) {
- $mUser = UserService::instance()->getUserModel();
- $user_num = Config::get('db.user_num');
- for ($i = 0; $i < $user_num; $i++) {
- $blackIds = $mUser->setConnect($i + $user_num)
- ->whereIn('channel_id', $channelList)
- ->where('is_black', '<>', UserConstants::USER_BLACK_NO)
- ->column('id');
- if ($blackIds) {
- LogService::info('黑名单用户数:' . count($blackIds) . ':' . implode(',', $blackIds));
- foreach ($blackIds as $blackId) {
- $userUpdate = new UserUpdate();
- $userUpdate->setId($blackId)->setIsBlack(0);
- \app\source\service\UserService::instance()->updateUser($userUpdate);
- }
- } else {
- LogService::info('黑名单用户不存在,分库:' . $i);
- }
- }
- $adminList = model('AdminConfig')->whereIn('admin_id', $channelList)->select();
- foreach ($adminList as $admin) {
- if ($admin->extend != 'null') {
- $extend = json_decode($admin->extend, true);
- $extend['clear'] = AdminConstants::ADMIN_EXTEND_CLEAR_YES;
- } else {
- $extend = ['clear' => AdminConstants::ADMIN_EXTEND_CLEAR_YES];
- }
- $extend = json_encode($extend, JSON_UNESCAPED_UNICODE);
- model('AdminConfig')->update(['extend' => $extend], ['admin_id' => $admin['admin_id']]);
- }
- }
- }
- // public function rollbackUser()
- // {
- // $data = file('/data/web/cps_shell/bb.txt');
- // foreach ($data as $line) {
- // $ids = explode(',', trim($line));
- // foreach ($ids as $blackId) {
- // $userUpdate = new UserUpdate();
- // $userUpdate->setId($blackId)->setIsBlack(1);
- // \app\source\service\UserService::instance()->updateUser($userUpdate);
- // }
- // }
- // }
- }
|