ImportUser.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <?php
  2. namespace app\command\test\ln;
  3. use app\common\repositories\user\UserRepository;
  4. use think\console\Command;
  5. use think\console\Input;
  6. use think\console\Output;
  7. use think\facade\Db;
  8. class ImportUser extends Command
  9. {
  10. protected function configure()
  11. {
  12. // 指令配置
  13. $this->setName('import_user')->setDescription('导入幸福宝一壶茶会员');
  14. }
  15. protected function execute(Input $input, Output $output)
  16. {
  17. $logs = [];
  18. $list = Db::connect('chuxubao')->query("SELECT rrx_user.uid as uid, account as phone, nickname, puid as spread_uid, (SELECT account from rrx_user where uid = puid limit 1) as spread_phone from rrx_user INNER JOIN rrx_enterprise_user on rrx_user.uid = rrx_enterprise_user.uid where rrx_user.is_del = 0");
  19. $userRepository = app()->make(UserRepository::class);
  20. //先走一遍注册
  21. foreach ($list as $reg_user) {
  22. $logs[$reg_user['phone']]['需要处理的信息'] = $reg_user;
  23. $temp_user = Db::name('user')->where('phone', $reg_user['phone'])->find();
  24. $temp1 = "存在";
  25. if (!$temp_user) {
  26. $temp1 = "不存在";
  27. $userRepository->registr($reg_user['phone'], null, 'h5', 0);
  28. echo "{$reg_user['phone']}注册成功\r\n";
  29. }
  30. $user = Db::name('user')->where('phone', $reg_user['phone'])->find();
  31. $logs[$reg_user['phone']]['注册用户'] = "导入手机号 {$reg_user['phone']}, {$temp1}, 数据库存在的ID {$temp_user['uid']}, 最新用户ID {$user['uid']}, 历史user_group {$user['user_group']}";
  32. if ($user['user_group'] != 4) {
  33. Db::name('user')->where('uid', $user['uid'])->update(['user_group' => 4]);
  34. }
  35. if ($user['is_show'] != 2) {
  36. Db::name('user')->where('uid', $user['uid'])->update(['is_show' => 2]);
  37. }
  38. }
  39. // 再走一遍绑定关系
  40. foreach ($list as $reg_user) {
  41. $user = Db::name('user')->where('phone', $reg_user['phone'])->find();
  42. $spread_user = Db::name('user')->where('phone', $reg_user['spread_phone'])->find();
  43. $logs[$reg_user['phone']]['绑定邀请关系'] = [
  44. 'uid' => $user['uid'],
  45. 'spread_uid' => $user['spread_uid'],
  46. 'phone' => $user['phone'],
  47. 'spread_user_uid' => $spread_user['uid'],
  48. 'spread_user_phone' => $spread_user['phone'],
  49. ];
  50. if ($spread_user && empty($user['spread_uid'])) {
  51. Db::name('user')->where('uid', $user['uid'])->update(['spread_uid' => $spread_user['uid']]);
  52. $logs[$reg_user['phone']]['绑定邀请关系_没有邀请人绑定最新的'] = [
  53. 'user' => $user,
  54. 'spread_user_uid' => $spread_user['uid'],
  55. ];
  56. }
  57. $user = Db::name('user')->where('phone', $reg_user['phone'])->find();
  58. $mer_count=Db::name('merchant')->where('uid',$user['uid'])->count();
  59. if(!$mer_count){
  60. // $code_insert['uid']=$v['uid'];
  61. // $code_insert['code']=time().'_'.$this->generateRandomCode(20);
  62. // $code_insert['ctime']=time();
  63. // $code_insert['type']=2;
  64. // $re=Db::name('activation_code')->insertGetId($code_insert);
  65. $mer_insert['uid']=$user['uid'];
  66. $mer_insert['spread_uid']=$user['spread_uid'];
  67. $mer_id=Db::name('merchant')->insertGetId($mer_insert);
  68. $merchant_admin_insert['mer_id']=$mer_id;
  69. $merchant_admin_insert['uid']= $user['uid'];
  70. $merchant_admin_insert['account']= $user['account'];
  71. $merchant_admin_insert['real_name']= $user['account'];
  72. $merchant_admin_insert['phone']= $user['account'];
  73. $merchant_admin_insert['level']= 0;
  74. try {
  75. $re=Db::name('merchant_admin')->insertGetId($merchant_admin_insert);
  76. }catch (\Exception $exception) {
  77. var_dump($exception->getMessage());
  78. }
  79. $merchant_intention['mer_id']=$mer_id;
  80. $merchant_intention['uid']= $user['uid'];
  81. $merchant_intention['phone']= $user['account'];
  82. try {
  83. Db::name('merchant_intention')->insertGetId($merchant_intention);
  84. }catch (\Exception $exception) {
  85. var_dump($exception->getMessage());
  86. }
  87. $logs[$reg_user['phone']]['创建商户'] = [
  88. 'mer_insert' => $mer_insert,
  89. 'merchant_admin_insert' => $merchant_admin_insert,
  90. 'merchant_intention' => $merchant_intention,
  91. ];
  92. // insert into rrx_merchant_admin(mer_id,uid,account,pwd,phone,real_name,level) values (#{mer_id},#{uid},#{account},#{pwd},#{phone},#{real_name},#{level})
  93. }
  94. }
  95. Db::name('log')->insert(['data' => "更新邀请关系数据备份" . json_encode($logs, JSON_UNESCAPED_UNICODE)]);
  96. }
  97. }