<?php
declare (strict_types=1);

namespace app\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\facade\Db;

class Hello extends Command
{
protected function configure()
{
// 指令配置
$this->setName('hello')
->setDescription('测试');
}

protected function execute(Input $input, Output $output)
{
// 指令输出
$output->writeln('执行中');
$output->writeln(sprintf("已处理 %d 条数据", 10));
exit;
// 设置永不退出
set_time_limit(0);

$cursor = Db::connect('kuaidian')
->table('wx_member')
->where('mobile', '>', 0)
->field("id,mobile,nickname,status,addtime,last_time,balance")
->cursor();
$count = 0;
$maxInserNum = 0;
$insertAll = [];
foreach ($cursor as $v) {
$count++;
$userTab = userTab($v['mobile']);
$user = Db::name($userTab)
->where("mobile", $v['mobile'])
->field("uid")
->find();

if (!isset($user['uid'])) {
$maxInserNum++;
//执行插入
$userData = [];
$userData["uid"] = creatId($v['mobile'] . rand(1, 9999999));
$userData["name"] = $v['nickname'];
$userData["mobile"] = $v['mobile'];
$userData["reg_time"] = date("Y-m-d H:i:s", $v['addtime']);
$userData["last_time"] = date("Y-m-d H:i:s", $v['last_time']);
$userData["avatar"] = "dinggedan-avatar/avatar.png";
$userData["status"] = $v['status'];
$userData["sex"] = 1;
$userData["zxtime"] = "";
$userData["birthday"] = "";
$userData["balance_xiche"] = $v['balance'];
if (!key_exists($userTab, $insertAll)) {
$insertAll[$userTab] = [];
}
array_push($insertAll[$userTab], $userData);
} else {
//执行更新
Db::name($userTab)->where("uid", $user['uid'])->update(['balance_xiche' => $v['balance']]);
}

// 每次100数据插入一次
if ($maxInserNum >= 100) {
foreach ($insertAll as $tab => $datas) {
Db::name($tab)->insertAll($datas);
}
$insertAll = [];
$maxInserNum = 0;
}
$output->writeln(sprintf("已处理 %d 条数据", $count));
}
$output->writeln('执行完毕!');
}
}

thinkphp 命令行执行导入的更多相关文章

  1. django源码(2.0.2)粗解之命令行执行

    前言 django的命令行在整个的django web开发中都会经常用到,而且是必须得用到.所以,能够了解下django的命令行实现其实是非常有帮助的. 如果大家比较关心django命令的详细说明和使 ...

  2. 关于thinkphp 命令行

    很多人做多年开发只懂得PHP能在浏览器下运行或者只能结合APACHE等WEB服务器运行,却不晓得,PHP也能用命令行执行,或许是由于大多人在WINDOWS平台做开发部署运行,比较少接触LINUX. T ...

  3. thinkphp命令行生成模型类

    thinkphp命令行生成模型类 当你需要创建大量的模型类的时候,不妨考虑下命令行生成,可以快速创建模型类. 在windows下面,使用Win+R输入cmd进入命令控制台,切换到项目根目录(也就是th ...

  4. Python命令行执行.py文件提示ModuleNotFoundError:No module named 'XXX'解决办法

    原因:在命令行执行.py文件找不到包是因为我们没有把项目路径保存,可以通过sys.path.append()保存项目路径,执行后就能成功. ############################## ...

  5. Jmeter(6)命令行执行

    Jmeter执行方式有2种:GUI和非GUI模式 GUI:在Windows电脑上运行,图形化界面,可直接查看测试结果,但是消耗压力机资源较高 非GUI:通过命令行执行,无图形化界面,不方便查看测试结果 ...

  6. linux命令行执行db2存储过程

    存储过程代码如下: CREATE PROCEDURE proc_sum2(IN n INT,OUT sum INT,OUT j INT) BEGIN DECLARE i INT; ; ; ; WHIL ...

  7. mysql命令行执行外部文件

    mysql命令行执行外部文件

  8. android程序中使用命令行及获得命令行执行后的内容

    在开发android项目中,需要在程序中使用命令行执行,获得命令行执行后的结果并做处理. 下面是自己写的一个小例子,供以后参考使用: public String android_command(){ ...

  9. 命令行执行php脚本 中$argv和$argc

    在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问. 在nginx命令行中 使用 php index.php 就可以执行这个index.php脚 ...

  10. php 运行linux命令 与 linux下命令行执行php

    1.php运行linux命令 exec函数:string exec(string command, string [array], int [return_var]);  执行函数后不输出结果,返回最 ...

随机推荐

  1. Javascript基础,基本数据类型,function方法,arguments对象,Error对象

    Javascript基础,基本数据类型,function方法,arguments对象,Error对象1.内部脚本写在body里面好 外部脚本放在head里面引用2.基本数据类型存在堆内存中 引用类型存 ...

  2. P10353 [PA2024] Grupa permutacji 题解

    神秘!在这些排列生成的置换群 \(G\) 里,若 \(\exists \pi \in G\) 使得 \(\pi_i=k,\pi_j=l\),则所有这些 \((k,l)\) 被同样数量的 \(\pi\i ...

  3. SpringBoot 2.x 接入非标准SSE格式大模型流式响应实践 🚀

    近期DeepSeek等国产大模型热度持续攀升,其关注度甚至超过了OpenAI(被戏称为CloseAI).在SpringBoot3.x环境中,可以使用官方的Spring AI轻松接入,但对于仍在使用JD ...

  4. Kali Linux(202104)重置root账户密码

    1.前言 如果忘记了Kali Linux系统的登录密码,最关键的需求就是重置root用户的登录密码, 之后使用root账户可以修改其他账户的密码. 因此, 本文就介绍一下在不知道root用户登录密码的 ...

  5. DeepSeek满血版测试

    技术背景 很多厂商以次充好,用蒸馏版DeepSeek冒充满血版.本文提供一些收集的问题集,可以用于测试是否满血DeepSeek.经过实际测试,国内厂商中只有满血版DeepSeek可以全对.但是各厂商后 ...

  6. git安装教程以及生成git ssh key

    问题 GitHub拉取代码需要SSH,总是忘记命令,现网百度.记录下来,以后靠自己的博文 第一步 安装git 地址: https://git-scm.com/download/win 安装它 第二步 ...

  7. ChatBI≠NL2SQL:关于问数,聊聊我踩过的坑和一点感悟

    "如果说数据是新时代的石油,智能问数就是能让普通人也能操作的智能钻井平台." 这里是**AI粉嫩特攻队!** ,这段时间真的太忙了,不过放心,关于从零打造AI工具的coze实操下篇 ...

  8. Qt使用QAudioInput、QAudioOutput实现局域网的音频通话

    Qt使用QAudioInput.QAudioOutput实现局域网的音频通话 本文旨在介绍一下用Qt来实现局域网音频通话功能 文章目录 Qt使用QAudioInput.QAudioOutput实现局域 ...

  9. FastAPI依赖注入:参数共享与逻辑复用

    扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长 第一章:依赖注入核心原理 1.1 依赖树构建机制 from fastapi import Depends def auth_service ...

  10. Go new函数 例子解析答疑

    package main import "fmt" func main() { p1 :=new(int) *p1 =1 fmt.Println("p1",p1 ...